使用更新的数据显示部分视图

时间:2014-04-02 03:28:33

标签: c# asp.net-mvc partial-views

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>

}

我可以看到顶部的表格显示回发给它的信息,但它没有显示在屏幕上......

如何显示此数据/表?

0 个答案:

没有答案