Можно ли использовать частичное представление для обновления элементов Ajax?

У меня есть таблица, построенная из списка кодов дефектов.

Может ли часть каждой строки загрузить элемент вложенной таблицы с кнопками отправки?

Образец таблицы:

<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 элементов в строке отдельной формы Ajax с codeId, встроенным в качестве скрытого значения? Что бы мои строго типизированные представления унаследовали? внешний слой унаследует 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 ответ

<% 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 и получить больше значения, чем показано в форме.

Другие вопросы по тегам