如何在ajax调用中将变量作为参数传递

时间:2014-05-15 12:22:28

标签: jquery asp.net-mvc jquery-dialog

我有一个调用jQuery对话模式poup的click函数。我希望在对话框的open函数中调用URL.Action,它需要传递参数。但我需要动态传递数据参数(变量)。 我该如何动态传递?如何将其存储在变量中并将其传递给“data:”字段?我无法使用以下代码。

  

注意:同样来自语法, - url ='@(Html.Raw(Url.Action(“ShowPopUp”,“Home”,new {serviceID = svc,serviceMasterId = masterId,serviceStatusId = statusId}))) >显示以下警告消息    1.当前上下文中不存在名称'svc'    2.当前上下文中不存在名称“masterId”    3.当前上下文中不存在名称“statusId”

    $('.lnkRequest').click(function () {
        serviceId = $(this).attr('serviceID');
        $('#dialog').css("display", "block");
        $('#dialog').data('svcId', $(this).attr('serviceID'));
        $('#dialog').data('svcMasterId', $(this).attr('serviceMasterID'));
        $('#dialog').data('svcStatusId', $(this).attr('serviceStatusID'));
        $('#dialog').dialog('open');
        return false;
    });

    $('#dialog').dialog({
        autoOpen: false,
        modal: true,
        height: 'auto',
        width: 'auto',
        draggable: false,
        open: function (event, ui) {
            var svc = $(this).data('svcId');
            var masterId = $(this).data('svcMasterId');
            var statusId = $(this).data('svcStatusId');
            url = '@(Html.Raw(Url.Action("ShowPopUp", "Home", new { serviceID = svc, serviceMasterId = masterId, serviceStatusId = statusId })))',                                  
            $(this).load(url);
        }
    });

2 个答案:

答案 0 :(得分:1)

jQuery的load方法接受data参数。

$('#dialog').dialog({
        autoOpen: false,
        modal: true,
        height: 'auto',
        width: 'auto',
        draggable: false,
        open: function (event, ui) {
            var svc = $(this).data('svcId');
            var masterId = $(this).data('svcMasterId');
            var statusId = $(this).data('svcStatusId');
            url = '@(Html.Raw(Url.Action("ShowPopUp", "Home")))';                                 
            $(this).load(url, 
                {
                    serviceId: svc,
                    serviceMasterId: masterId,
                    serviceStatusId: statusId
                });
        }
    });

来源:http://api.jquery.com/load/

请参阅页面上的最后一个示例。

答案 1 :(得分:0)

使用jquery获取对话框ID,然后加载

请点击链接:

MVC 2 - Display a jquery dialog that contains a partial view

also this