【问题标题】:How to update the view in a jquery dialog using AJAX?如何使用 AJAX 更新 jquery 对话框中的视图?
【发布时间】:2013-03-10 17:38:12
【问题描述】:

这是默认情况下包含我的剃须刀视图的内容,请注意我使用的是 AJAX 链接,下面也是控制器方法。

            <td class="questionText">@Ajax.ActionLink("some text", "PreviewQuestion", new { questionId = question.Id },
                new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "target" })</td>

   public ActionResult PreviewQuestion(int questionId)
    {
        db = new ContosoDb();
        var question = db.Questions.Find(questionId);

        return PartialView("_MultipleChoiceQuestion", question);
    }

如您所见,我正在尝试更新 Jqueryd 对话框的当前视图,这就是我的目的。我打算使用以下插件:

http://jqueryui.com/dialog/#default

到目前为止,如果我在return PartialView(...) 中设置断点就可以了。但我不知道我必须在哪里编写代码以显示弹出窗口,并通过动作控制器更新对话框内容。

【问题讨论】:

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


    【解决方案1】:

    使用 AjaxOptionsOnSuccess 事件连接 javascript 代码。 OnSuccess 将向您传递调用的结果,在这种情况下是局部视图的内容。现在您可以使用 jqDialog 来显示内容 您的 javascript 函数大致如下所示

    function processResults(results){
        $(results).dialog();
    }
    

    【讨论】:

      【解决方案2】:

      我认为您的部分视图正在返回某种 HTML sn-p,您打算使用该插件将其转换为对话框。您需要在 ajax 调用中再添加一个参数,例如

      new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "target",OnComplete = "your_js_function();" }
      

      函数类似于

      function your_js_function()
       $( "#target" ).dialog();
      }
      

      该函数的目的是触发对话框的出现。

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-04
        • 2014-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多