我正在尝试在部分页面内呈现部分页面。 所以我在我的布局页面中调用了我的部分CreateMenu,在这里我从布局页面传递模型。这很完美。 现在在CreateMenu部分内部我试图用相同的语法调用MenuItem但是它失败了。 Visual Studio将路径显示为红色(我知道它存在的100%)。
如何从局部内部渲染局部。
MenuPartial调用渲染:
@Html.Partial("~/Models/Default/UserControls/_MenuItem.cshtml", Model.Modules[i])
Model.Modules [i]由MvcModule对象组成。
菜单项:
@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 Überschreibengefunden。 第46行:public override void Execute(){
对不起德语文本。我试图让它输出英文,但VS 2010拒绝更改设置= /
答案 0 :(得分:2)
我不认为这是一个嵌套的部分问题。你应该能够毫无问题地嵌套部分。看起来您尝试渲染的部分位于~/Models/Default/UserControls
目录中。这不是默认视图引擎查找视图的位置。尝试将web.config
目录中的Views
文件复制到Models
目录中。
如果是我,我会尽量避免在Views目录之外存储视图,如果可能的话,可以避免像这样的奇怪问题。