【问题标题】:Return value from a partial view loaded on a jquery dialog从加载在 jquery 对话框上的部分视图返回值
【发布时间】:2013-09-23 19:16:54
【问题描述】:

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

【问题讨论】:

  • 您是否将部分视图加载到父页面中,然后用 jquery 显示它?
  • 是的,但不确定这是否是最好的方法

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


【解决方案1】:

我想我遵循你现在需要的。所以在你的按钮上点击你做一个 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);
    });
}

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

【讨论】:

  • 需要看看overlay.load() 和attachScript,不知道他们做了什么XD
  • 有任何链接或教程吗?我有点迷失了
  • 你卡在哪里了?您的对话框中是否已加载并显示部分内容?
  • 是的,并且该值存储在隐藏字段或 js var 中,所以在关闭方法上我可以使用它(但它看起来不干净),也将使用同一个对话框来提供我的父视图上有不同的字段,所以我需要找到一种方法
  • 请看我上面的修改答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-08
  • 2011-10-19
  • 2012-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多