передать значение из формы представления в частичное представление, представленное в модальном

0

У меня возник вопрос о передаче id из формы в частичный вид в модальном режиме.

Итак, это мой взгляд, где форма и кнопка, которая вызывает ajax modal:

@foreach (var item in Model)
{
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Title)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Description)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.ProjectId)
        </td>
        <td>
            <button class="launch" value= @item.Id role="button">do it</button>
}

Это мой вызов ajax, который приходит из класса "запуск" в кнопке на представлении:

<script>
    $(function () {
        $("#triage-modal").dialog({
            autoOpen: false,
            height: 600,
            width: 700,
            modal: true,
            open: function (event, ui) {
                $(this).load("@Url.Action("defectsPartial")");
            },
                buttons:{
                    "Close": function(){
                        $(this).dialog("close");
                    }
                }
        });
        $(".launch").click(function () {
            $("#triage-modal").dialog("open");
        })
    });
</script>

И это мое действие контроллера:

public ActionResult defectsPartial()
{
    return PartialView("defectsPartial");
}

Поэтому мой вопрос: как я могу получить значение @item.Id из формы представления, через модальное и частичное представление? Любая помощь будет оценена!

  • 1
    передать идентификатор в действии paremeter и получить его в поле зрения
  • 0
    @EhsanSajjad, если я введу int id в параметре действия, я получу ошибку с нулевым значением.
Показать ещё 3 комментария
Теги:
asp.net-mvc
asp.net-mvc-partialview

1 ответ

0

Что-то вроде

<script> var theId = -1; $(function() { $("#triage-modal").dialog({ autoOpen: false, height: 600, width: 700, modal: true, open: function (event, ui) { $(this).load("@Url.Action("defectsPartial")?id=" + theId); }, buttons:{ "Close": function(){ $(this).dialog("close"); } } }); $(".launch").click(function() { $("#triage-modal").dialog("open"); theId = $(this).attr("value"); }) }); </script>

Это немного странно, так как вы используете открытую функцию модального для загрузки, поэтому вам нужно сохранить идентификатор где-то, ссылайтесь на него отсюда, подумайте о том, чтобы сделать загрузку в событии клика кнопки запуска, а затем вы может использовать Id непосредственно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню