У меня возник вопрос о передаче 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
из формы представления, через модальное и частичное представление? Любая помощь будет оценена!
Что-то вроде
<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 непосредственно