编译时错误:在局部视图中渲染局部视图

时间:2011-07-01 13:40:32

标签: asp.net-mvc-3 razor partial-views

我正在尝试在部分页面内呈现部分页面。 所以我在我的布局页面中调用了我的部分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拒绝更改设置= /

1 个答案:

答案 0 :(得分:2)

我不认为这是一个嵌套的部分问题。你应该能够毫无问题地嵌套部分。看起来您尝试渲染的部分位于~/Models/Default/UserControls目录中。这不是默认视图引擎查找视图的位置。尝试将web.config目录中的Views文件复制到Models目录中。

如果是我,我会尽量避免在Views目录之外存储视图,如果可能的话,可以避免像这样的奇怪问题。

相关问题