C#,MVC4
我为表单上的弹出数据条目创建了一个PartialView。这是主要表单的片段。
<input type="button" id="btnAddGroup" value="Add Group" />
<p>
<input type="submit" value="Save" />
</p>
</div>
</fieldset> }
我很快发现我需要这条线:
@Html.Partial("_Groups")
在主视图之外,部分视图中的表单提交按钮将接受并处理。
我的控制器使用以下方式处理和发回数据:
return PartialView(NewModel);
我可以运行调试器并看到数据被传递回PartialView,但由于视图位于原始表单之外,因此它不会显示。
我的PartialView如下:
@model OMD.ViewModels.SearchedUser
@if (Model.AddGroups != null)
{
<h2>Groups to be Added</h2>
<table id="AddGroupList">
<thead>
<tr>
<th>
Name
</th>
<th>
Until
</th>
<th>
Action
</th>
</tr>
</thead>
<tbody>
@foreach (var Group in Model.AddGroups)
{
<tr>
<td>
@Html.DisplayFor(model=> Group.GroupName)
</td>
<td>
@Html.DisplayFor(model=> Group.dtAddedTo)
</td>
<td>
@Html.DisplayFor(model=> Group.bAddOrRemove)
</td>
<td>
@if (AuthCheck.CheckUser(new HttpContextWrapper(HttpContext.Current), oRoles.StaffChangeRequest) ||
AuthCheck.CheckUser(new HttpContextWrapper(HttpContext.Current), oRoles.StudentChangeRequest))
{
<span>@Html.ActionLink("Remove", "RemoveGroup", new { id = Group.ID })</span>
}
</td>
</tr>
}
</tbody>
</table>
}
<div id="dlgAddGroup" title="Add Group" style="display: none">
@using (Ajax.BeginForm("_Groups",new AjaxOptions { UpdateTargetId ="ID",OnSuccess="onSuccess"}))
{
@Html.DropDownListFor(model => model.AllGroups,new SelectList(Model.AllGroups, "ID","GroupName"), "Select Group to Add")
@Html.ValidationMessageFor(model => model.AllGroups)
<div class="editor-label">
@Html.CheckBox("cbxMakeGroupPermanent", true) Permanent
</div>
<div class="editor-label" id ="dlgUntil1">
Group Add Until:
</div>
<div class="editor-field" id="dlgUntil2">
@Html.TextBox("tbAddUntil",null,new { maxlength = 30, style = "width: 100px" })
<span style='padding:5px'><img id='calImageGroup' alt="img" src='~/Images/calendar.gif'></span>
</div>
<button class="btn btn-inverse" type="submit">add</button>
}
我可以看到顶部的表格显示回发给它的信息,但它没有显示在屏幕上......
如何显示此数据/表?