PartialView导航不返回参数

时间:2015-07-17 21:24:02

标签: c# html asp.net-mvc asp.net-mvc-4

我已经设置了一个部分视图来处理多个视图中的导航。其中一些视图使用不同的模型,因此我就像这样传递该模型

@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

2 个答案:

答案 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关键字的情况下传递模型。