我已经设置了一个部分视图来处理多个视图中的导航。其中一些视图使用不同的模型,因此我就像这样传递该模型
@Html.Partial("~/Views/Navigation/_PartialTabs.cshtml", new xxx.OpenAccess.OBProfiles())
它正好加载了我的部分视图
@using xxx.Helpers;
@model xxx.OpenAccess.OBProfiles
<ul class="nav nav-tabs">
<li role="presentation" class="@Html.IsActive("Edit", "OBProfile")">@Html.ActionLink("Edit", "Edit", "OBProfile", new { id = Model.ProfileID }, null)</li>
<li role="presentation" class="@Html.IsActive("Index", "OBProfileTasks")">@Html.ActionLink("Tasks", "Index", "OBProfileTasks", new { id = Model.ProfileID }, null)</li>
<li role="presentation"><a href="#">Messages</a></li>
然而,当我将鼠标悬停在链接上时,无论我在哪个屏幕上,参数(Model.ProfileID)都会返回0。因此,标签网址如下所示http://localhost:55129/OBProfileTasks/Index/0
我错过了什么,它不会返回我所选择的任何个人资料的/Number
?
答案 0 :(得分:0)
您需要预填充OBProfiles。这有两种方式:
构造
在OBProfiles类中添加:
public OBProfiles(){
ProfileID = *some value*;
}
静态方法:
public static OBProfiles GetProfiles(){
return new OBProfiles{ProfileId = *Some value*};
}
for静态方法调用:
@Html.Partial("~/Views/Navigation/_PartialTabs.cshtml", OBProfiles.GetProfiles())
答案 1 :(得分:0)
我相信TheDizzle击中了头部。当您以新的方式传递模型时,您将传递该模型的干净版本。尝试在不使用new关键字的情况下传递模型。