可以使用部分视图来执行Ajax项目更新吗?

时间:2009-12-01 21:36:12

标签: asp.net-mvc ajax partial-views asp.net-mvc-ajax asp.net-mvc-partialview

我有一个由缺陷代码列表构建的表。

每行的一部分是否可以使用提交按钮加载子表项?

样本表:

<table><tr>
<th>Code</th><th>Description</th>
<th>Impact to your customers</th>
<th>Impact to your associates</th>
<th>Save</th>
<th>Save Errors</th></tr>

从查找表中填充前2列,接下来的3列是表单,以便用户可以设置值或从以前的值更新它们。

我可以以某种方式将每行3 TD个项目作为隐藏值嵌入到codeId的单个Ajax表单中吗?我的强类型视图会继承什么?外层会继承IEnumerable<DefectDTO>,部分视图会继承AssessmentDTO类型吗?

这是我试图实现的实际表格:

<table>
    <tr>

        <th>
            Code
        </th>
        <th>
            Description
        </th>
        <th>
            Document
        </th>
        <th>
            Customer Contact Required for Resolution
        </th>
        <th>
            AssociateSeverity
        </th>
        <th>
            ShareholderSeverity
        </th>
        <th>
            CustomerSeverity
        </th>
        <th>
            RegulatorySeverity
        </th>
        <th>
            RootCause
        </th>
        <th>
            Investor Requirements*
        </th>
    </tr>

<% foreach (var item in Model.DefectCodes) { %>

    <tr>
        <% using (Ajax.BeginForm("Create", new AjaxOptions() ))
           {%>
        <td>
            <%= Html.Encode(item.Code)%>
        </td>
        <td>
            <%= Html.Encode(item.Description)%>
        </td>
        <%  Html.RenderPartial("Create",null, ViewData); %><!-- This is where the form is -->
        <% } %>
    </tr>

<% } %>

</table>

1 个答案:

答案 0 :(得分:0)

<% foreach (var item in Model.DefectCodes) { %>

    <tr>
        <% using (Ajax.BeginForm("Create", new AjaxOptions() ))
           {%>

        <!--should be easy like this!--><!--ur codeid here-->
        <%=Html.HiddenFor(modelItem => item.codeid)%> 

        <td>
            <%= Html.Encode(item.Code)%>
        </td>
        <td>
            <%= Html.Encode(item.Description)%>
        </td>
        <%  Html.RenderPartial("Create",null, ViewData); %><!-- This is where the form is -->
        <% } %>
    </tr>

<% } %>

</table>

它只是解决了你隐藏的价值!问题..

你不需要把它放到TD因为你希望它被隐藏所以它仍然会得到你的值,但不会以表格或表格或视图显示..那样你可以保留3 TD并获得比表单上显示的更多价值。