Javascript 将控制值传递给使用Asp.net MVC3在弹出窗口中呈现的局部视图

Javascript 将控制值传递给使用Asp.net MVC3在弹出窗口中呈现的局部视图,javascript,asp.net-mvc,jquery,Javascript,Asp.net Mvc,Jquery,我创建了一个弹出窗口来加载局部视图。我想将控制值从父页面传递到弹出窗口中呈现的部分视图。如何传递值 下面是用于打开弹出窗口的代码ModifyAgRule是div id,AuthorityGridModify是用于渲染局部视图的操作方法的名称 更多信息: 我在父页面中有一个webgrid,当用户在该网格中选择一行并单击modify(修改)按钮时,将出现一个弹出窗口,其中所选值显示在下拉列表和文本框中 <script type="text/javascript"> $(docum

我创建了一个弹出窗口来加载局部视图。我想将控制值从父页面传递到弹出窗口中呈现的部分视图。如何传递值

下面是用于打开弹出窗口的代码
ModifyAgRule
是div id,
AuthorityGridModify
是用于渲染局部视图的操作方法的名称

更多信息:

我在父页面中有一个webgrid,当用户在该网格中选择一行并单击modify(修改)按钮时,将出现一个弹出窗口,其中所选值显示在下拉列表和文本框中

<script type="text/javascript">
    $(document).ready(function () {
        //define config object
        var dialogOpts = {
            title: "Modify Rule",
            modal: true,
            autoOpen: false,
            height: 500,
            width: 500,
            open: function () {
                //display correct dialog content
                $("#ModifyAgRule").load("AuthorityGridModify");
            }
        };
        $("#ModifyAgRule").dialog(dialogOpts);    //end dialog

        $('#Modify').click(function () {
            $("#ModifyAgRule").dialog("open");
            return false;
        });    
    });
</script>

$(文档).ready(函数(){
//定义配置对象
变量dialogOpts={
标题:“修改规则”,
莫代尔:是的,
自动打开:错误,
身高:500,
宽度:500,
打开:函数(){
//显示正确的对话框内容
$(“#ModifyAgRule”).load(“AuthorityGridModify”);
}
};
$(“#ModifyAgRule”).dialog(dialogOpts);//结束对话框
$('#修改')。单击(函数(){
$(“#修改语法”)。对话框(“打开”);
返回false;
});    
});

您可以像这样以JSon格式将数据传递给视图

$("#ModifyAgRule").load('@Url.Action("AuthorityGridModify")', 
                               { 'propertyName' : 'propertyValue', 
                                 'propertyName2' : 123 });
在控制器中

public ActionResult AuthorityGridModify(string propertyName, int propertyName2)
{
    // propertyName´s value is propertyValue
    return View();
}

希望这有帮助

您正在将局部视图的名称传递给
load()
函数,该函数不起作用,因为它应该传递一个URL以从中加载内容,并且不知道MVC项目中的内容。请发布包含弹出窗口的部分视图的内容,并详细说明您希望传递的值。您好,rory,我没有传递加载中部分视图的名称,我传递了呈现部分视图的操作方法的名称,此代码适用于我,唯一的问题是我不知道如何将值从父屏幕传递到返回部分视图的操作方法。Thankstorry-我的错,误读了你的操作。我如何才能在action方法中接收到这些数据,它是否会作为action方法参数中的字符串接收?我的操作方法是否应该类似于此函数AuthorityGridModify(byval controlValues作为字符串),其中的controlValues和controlValues将保存从jquery传递的值?我的答案显示了您如何接收数据。类型取决于您发送的数据。在我的示例中,它是一个字符串,但可以是int、数组等。您可以单独传递多个控件的值,而不仅仅是在一个变量中传递。@Ismail我知道,我更新了我的答案以使其更清楚。感谢you@dknaack我知道你知道,我是对OP说的。