从jquery对话框上加载的局部视图返回值

时间:2013-09-23 19:16:54

标签: asp.net-mvc-4 jquery-ui-dialog asp.net-mvc-partialview

我有一个部分视图“selectUser”。在该部分视图上,用户可以搜索其他用户。用户ID将存储在隐藏字段中,或存储在我的视图中var。我需要在很多地方使用这个局部视图。假设我需要在对话框的关闭事件中返回所选用户的id。我的问题是,如何将这个局部视图加载为jquery ui的模态对话框,将选定的值重新转换为其父视图?有没有办法直接从父视图访问该值?

1 个答案:

答案 0 :(得分:2)

我想我现在就听你需要的。因此,在您的按钮上单击,您将ajax回调到服务器,并在调用中包含目标字段名称

$.ajax({
     url: "@(Url.Action("Action", "Controller"))",
     type: "POST",
     cache: false,
     async: true,
     data: { destination: 'fieldName' },
     success: function (result) {
         $(".Content").html(result);
         AttachScript();
         Dialog.load();
     }
});

在您的控制器上,通过视图模型或视图包将该字段发送到局部视图,在局部视图上将该字段名称放入隐藏字段中。然后在你的按钮点击你应该能够做这样的事情(未经测试)

function AttachScript(){
    $('.btnSubmit').on('click', function(){
        var data = $('.sharedField').val();
        $($('.HiddenField').val()).val(data);
    });
}

将设置隐藏字段中为数据命名的任何字段的值。希望这会有所帮助。