我正在使用 MVC 4 并想稍微整理一下我的视图,因此决定创建多个局部视图并在渲染期间将它们组合在一起。
当正在呈现的视图很少 @Html.RenderPartial('path\to\my\partialView.cshtml')
但如果此 partialView.cshtml 又在@Html.RenderPartial('path\to\my\otherPartialView.cshtml')
其中进一步定义时失败,则此方法有效。
我遇到错误,例如使用 RenderPartial 或 Partial 方法
error CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
error CS1503: Argument 1: cannot convert from 'void' to 'System.Web.WebPages.HelperResult'
在 MVC4 中我们可以实现整理我的大视图标记文件的方法吗?即尝试逐步将部分视图与其他部分视图组合在一起。
编辑
只是为了提供更多细节。
我的移动视图如下所示:
文件:ManageLoads.Mobile.cshtml
位置:视图->托运人->ManageLoads
在这个视图中,我有这样的代码:
<div id="landingPage" ng-show="MenuSelection=='DefaultPage'">
@Html.Partial("~/Views/Shipper/_DashboardPartial.cshtml")
<div class='message {{MessageClass}}'>
<i class='{{MessageIcon}}'></i>
<p>{{Message}}</p>
</div>
</div>
这部分工作正常,没有问题。现在在 _DashboardPartial.cshtml 中,如果我引用了另一个局部视图,它会失败。
<div id="warehouseSelection" ng-show="getStep()==1">
{@Html.RenderPartial("~/Views/Shipper/mobilePartials/_MyWarehouse.cshtml");}
</div>
这会中断并引发错误,但是如果我将“_MyWarehouse.cshtml”的内容复制粘贴到那里,它会再次开始工作。我已经验证 _MyWarehouse.cshtml 的路径是正确的,所以我怀疑它与导致问题的 RenderPartial 方法的嵌套有关。
问候基兰