0
我似乎無法弄清楚這一點,它讓我瘋狂!EditorTemplate +模型不在POST上返回
本質上,我有一列我需要顯示每行一個下拉列表。
我有一個視圖模型:
public class UserMembershipViewModel:BaseViewModel
{
public List<ProgramMembership> ProgramMembership { get; set; }
}
在我父視圖我有,因爲你可以看到我使用它位於「/Views/Shared/EditorTemplates/ProgramMembership.cshtml」編輯模板:
@using AcnCS.Model
@model AcnCS.Model.ViewModels.User.UserMembershipViewModel
@{
ViewBag.PageHeader = "Membership for " + Model.User.FullName;
ViewBag.PageTitle = "Membership for " + @Model.User.FullName;
ViewBag.HideNav = true;
}
@if (Model.ProgramMembership != null)
{
<div class="row-fluid">
<div class="span12">
<div id="permissions">
@using (Html.BeginForm())
{
<table class="table table-bordered">
<thead>
<tr>
<td>Program</td>
<td>Effective Membership?</td>
<td>Permission Type</td>
</tr>
</thead>
@Html.EditorFor(m => Model.ProgramMembership, "ProgramMembership")
</table>
<input type="submit" class="btn btn-primary" value="Save Changes"/>
}
</div>
</div>
</div>
}
我的編輯模板(ProgramMembership.cshtml)是:
@using AcnCS.Model
@model List<AcnCS.Model.ProgramMembership>
@foreach(ProgramMembership membership in Model)
{
<tr>
<td>@membership.ProgramName</td>
<td>
@if (membership.IsMember)
{
<span class="label label-success">@membership.IsMember</span>
}
else
{
@membership.IsMember
}
</td>
<td>@Html.DropDownListFor(x => membership.PermissionType, membership.PermissionTypes)</td>
</tr>
}
一切是顯示正確,但是當我提交時,我的模型對象爲null,即使模型中的ProgramMembership屬性爲null:
[HttpPost]
public ActionResult Membership(UserMembershipViewModel model)
{
// model IS NULL!!
return View(model);
}
任何幫助將不勝感激!
謝謝!這似乎工作 – TheWebGuy 2012-07-12 19:39:41
@戈登:你是歡迎。很高興我能幫上忙 :) – Shyju 2012-07-12 19:44:10