[英]Passing a variable to an action in jQuery
我正在将MVC2与jquery一起使用。
我试图在jquery对话框容器中打开部分视图,传递要删除的对象的itemID。
我要做的是传递一个动作,该动作将视图呈现给jquery,我可以在不使用变量的情况下开始工作。 如果我尝试传递要删除的对象的ID,则该操作甚至不会触发。 我可能遇到的障碍是我在变量中传递的位置。
这是我的jQuery代码:
$(function () {
var itemToDelete
$('#deleteDialog').dialog({
autoOpen: false,
width: 400,
resizable: false,
title: 'Delete Item',
modal: true,
open: function(event, ui) {
//This calls the action if I don't try to pass in the variable
$(this).load("<%: Url.Action("Delete") %>",
{
item: itemToDelete
});
},
buttons: {
"Close": function () {
$(this).dialog("close");
}
}
});
$('#item-delete-button').click(function () {
itemToDelete = $(this).find("input").val()
$('#deleteDialog').dialog('open');
});
});
这是视图的相关部分。
<div id="item-delete-button" class="item-delete-button">
Delete
<%:Html.Hidden("item-delete-content", model.ItemID.ToString(), New With {.id = "item-delete-content", .class = "item-delete-content"})%>
</div>
如果单击“删除”,则会发生jquery,并打开一个空对话框窗口。 如果我不尝试传递“ itemToDelete”变量,则该动作可以正常触发,但是,当然,在不知道要删除的项目的情况下,我不会走得太远。
因此,正如我所说,问题是我没有将正确的变量传递给我的操作。 这可能是一个简单的错误,而且我对jquery还是比较陌生。
如果您更换,它能工作吗?
$(this).load("<%: Url.Action("Delete") %>",
{
item: itemToDelete
});
有了这个?
$(this).load('<%: Url.Action("Delete") %>?item=' + itemToDelete);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.