编译时错误:在部分视图中渲染部分视图
我正在尝试在部分页面内呈现部分页面。 因此,我在布局页面中调用了部分 CreateMenu,在这里我从布局页面传递模型。这很完美。 现在在 CreateMenu 部分中,我尝试使用相同的语法调用 MenuItem 但随后失败。 Visual Studio 将路径显示为红色(我 100% 知道它存在)。
我如何从部分内部渲染部分。
MenuPartial 对渲染的调用:
@Html.Partial("~/Models/Default/UserControls/_MenuItem.cshtml", Model.Modules[i])
Model.Modules[i] 由 MvcModule 对象组成。
MenuItem:
@model Models.Default.Classes.MvcModule
<li class="@{if (Model.CanExpand) {<text>fullwidth</text>} else {<text>nodrop</text>}} first_fullwidth">
...
这会导致编译错误:
编译器错误消息:CS0115: “ASP._Page_Models_Default_UserControls__MenuItem_cshtml.Execute()”: Es wurde keine passende Methode zum Überschreiben gefunden。 第 46 行:公共覆盖 void Execute() {
抱歉德语文本。我试图让它输出英语,但 VS 2010 拒绝更改设置=/
I am trying to render a partial page inside a partial page.
So i have in my layout page a call to my partial CreateMenu and here i pass the model from the layout page. This works perfect.
Now inside the CreateMenu partial i am trying to call MenuItem with the same syntax but then it fails. Visual studio shows the path as red (i know to 100% that it exists).
How can i render a partial from inside a partial.
MenuPartial's call to the render:
@Html.Partial("~/Models/Default/UserControls/_MenuItem.cshtml", Model.Modules[i])
Model.Modules[i] consists of MvcModule objects.
MenuItem:
@model Models.Default.Classes.MvcModule
<li class="@{if (Model.CanExpand) {<text>fullwidth</text>} else {<text>nodrop</text>}} first_fullwidth">
...
This results in a compilation error:
Compiler Error Message: CS0115:
"ASP._Page_Models_Default_UserControls__MenuItem_cshtml.Execute()":
Es wurde keine passende Methode zum
Überschreiben gefunden.
Line 46: public override void Execute() {
Sorry for the German text. I have tried to get it to output English instead but VS 2010 refuses to change the settings =/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不认为这是一个嵌套的部分问题。您应该能够毫无问题地嵌套部分内容。看起来您尝试渲染的部分位于
~/Models/Default/UserControls
目录中。这不是默认视图引擎查找视图的地方。尝试将web.config
文件从Views
目录复制到Models
目录中。如果是我,我会尽可能避免将视图存储在 Views 目录之外,以避免出现这样的奇怪问题。
I don't think this is a nested partial issue. You should be able to nest partials without any problem. It looks like the partial you're trying to render is in the
~/Models/Default/UserControls
directory. This isn't a place the default view engine looks for views. Try copying theweb.config
file from yourViews
directory into theModels
directory.If it were me, I would try to avoid storing views outside of the Views directory if at all possible to avoid weird issues like this.