请帮助
我有一个带有许多按钮的视图......每个按钮都有唯一的ID。我想在jquery对话框中打开局部视图。我可以看到对话框,甚至可以看到其中的部分表单,但我无法将参数传递给它。 以下脚本有效...但请注意我已在网址中对ID进行了硬编码。如何在其中放置变量而不是硬编码的ID号。非常感谢
<script>
var ASeatId; //this code works
function showPersonDialog(seatId) {
ASeatId = seatId;
$('#dialog').dialog('open');
}
$('#dialog').dialog({
autoOpen: false,
width: 800,
resizable: false,
title: 'Edit Guest',
modal: true,
open: function (event, ui) {
var url = '@Html.Raw(Url.Action("Guest", "Seat", new{seatID=3}))';
$(this).load(url);
},
buttons: {
"Save": function () {
$(this).dialog("save");
// prevent the default action, e.g., following a link
return false;
},
"Close": function () {
$(this).dialog("close");
// prevent the default action, e.g., following a link
return false;
}
}
});
</script>
所以当我单步执行控制器代码时
public ActionResult Guest(int? seatId)
{
return PartialView("_Guest");
//return PartialView("_Guest");
}
我可以看到数字3
我想基于按钮点击来传递变量...后面的代码不起作用
<script> ///this code does not work
var ASeatId;
function showPersonDialog(seatId) {
ASeatId = seatId;
$('#dialog').dialog('open');
}
$('#dialog').dialog({
autoOpen: false,
width: 800,
resizable: false,
title: 'Edit Guest',
modal: true,
open: function (event, ui) {
var url = '@Html.Raw(Url.Action("Guest", "Seat", new{seatID=ASeatID}))'; ///this being the variable
$(this).load(url);
},
buttons: {
"Save": function () {
$(this).dialog("save");
// prevent the default action, e.g., following a link
return false;
},
"Close": function () {
$(this).dialog("close");
// prevent the default action, e.g., following a link
return false;
}
}
});
</script>
再次感谢
答案 0 :(得分:2)
var url = '@Url.Action("Guest", "Seat", new{ seatID = "-1"}))';
url = url.replace("-1", ASeatId);
经常将变量放入另一个变量需要一些帮助。
当动作控制器期待搜索字符串时,有时可能需要将整数转换为数字。
var aid = ASeatId.toString();
var url = '@Url.Action("Guest", "Seat", new{ seatID = "-1"}))';
url = url.replace("-1", aid);
$(this).load(url)
大多数情况下,文档就绪的简单加载调用(如上所述)最适合我(传递模型参数)。
$(this).load('@Url.Action("Guest", "Seat", new{ seatID = Model.ASeatId}))');
答案 1 :(得分:0)
这个怎么样(在对话框的打开功能中)
var url = '@Html.Raw(Url.Action("Guest", "Seat", new{seatID='+ASeatID+'}))'; ///this being the variable
变量不会转到字符串。!
答案 2 :(得分:0)
就像这样使用
$("#customerTabBody").load('Home/GetCustomerList', { 'searchString': searchCriteria });
此处searchCriteria是您必须传递的参数
答案 3 :(得分:0)
var url = '@Html.Raw(Url.Action("Guest", "Seat")))
url = url + ASeatId;
答案 4 :(得分:0)
试试这段代码:
var url = "@Url.Action("Guest", "Seat")" +"/" + ASeatID;