【问题标题】:Keep JQuery UI Dialog Open after Post inside Partial View在部分视图中发布后保持 JQuery UI 对话框打开
【发布时间】:2014-08-26 08:01:38
【问题描述】:

我目前正在使用 ASP.Net MVC 5 开发一个应用程序。该应用程序使用 JQuery UI 库来显示模式对话框。

我遇到的问题是,在我的一个模态对话框中,我要求用户从下拉列表(在对话框中)中选择一个产品,而在用户选择时,我想重新加载对话框,但是基于它填充在用户选择上(不关闭对话框)。

谁能告诉我如何实现这一点。

问候,

斯图尔特

【问题讨论】:

    标签: jquery asp.net-mvc jquery-ui razor modal-dialog


    【解决方案1】:

    您无法重新加载页面,因为如果页面重新加载对话框将关闭,那么您可以制作一个简单的局部视图,并且当用户从下拉列表中选择一个值时,只需将值传递给局部视图,然后在 ajax 调用的帮助下将该局部视图加载到对话框中jquery 这也将阻止页面加载和关闭对话框。

    编辑:-

    一个演示:

    $(document).ready(function(){
       $("#dropdown1").change(function(){
          $.ajax({
                    url: "/MyController/getdata",
                    type: 'GET',
                    datatype: 'html',
                    data: { dropval : $(this).val() },
                    success: function (data) {
                       $("#div1").html('');
                       $("#div1").html(data);
    
                });
        });
    });
    

    控制器(MyController):

    [HttpGet]
    Public ActionResult getdata(string dropval)
    {
    //bind model here
    return PartialView("mypartialview",model)
    }
    

    【讨论】:

    • 感谢您的例外情况,您能否也发布一个视图示例。
    • @StuartFerguson.. 视图代码完全取决于您的应用程序我只是发布所需的代码,其余部分取决于您的应用程序.. 部分视图与简单视图一样简单,方式与您相同视图..
    • @StuartFerguson...我认为以上代码足以指导您..我不知道您的完整方案,但以上代码足以指导您...谢谢..跨度>
    • 我已经实现了您在上面放置的代码,现在在下拉更改中点击控制器,但是我的模态表单没有填充我返回的模型数据,您能解释一下吗成功:函数(数据){ $("#div1").html(''); $("#div1").html(data);" 部分就像我假设的那样做错了。
    • @StuartFerguson..yes 使用该代码,id 为 div1 的 div 中的 html 将首先被删除,来自控制器的新 html 将替换 html..您只需将 div1 替换为您想用新的 html 替换的容器 div id..
    【解决方案2】:

    我建议不要重新加载对话框,而是您可以通过 ajax 调用清除并重新填充对话框。您可以执行 ajax 调用来获取控制器的操作并返回部分视图 在success方法中,根据用户更新对话框的html。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多