我有一个关于将一个id从一个表单传递到一个模态的局部视图的问题。
所以这是我的视图,表单是和调用ajax模式的按钮:
@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
值?任何帮助将不胜感激!
答案 0 :(得分: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>
有点奇怪,因为你正在使用模态的open函数来执行加载,所以你需要将Id存储在某处从这里引用它,考虑在启动按钮的click事件中执行加载,那么你可以直接使用Id