繁体   English   中英

将变量传递给jQuery中的操作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM