【问题标题】:How to open a partial view by using jquery modal popup in asp.net MVC?如何在 asp.net MVC 中使用 jquery modal popup 打开部分视图?
【发布时间】:2009-10-12 13:21:25
【问题描述】:

我有一个局部视图,我想使用 JQuery Modal Popup 打开它。打开新记录的视图时没有问题,但我想将数据传递到此部分视图进行编辑。您最好的实现方式是什么?

提前致谢。

【问题讨论】:

  • 这里有一个整洁的article...

标签: jquery asp.net-mvc jqmodal


【解决方案1】:

我在当前的项目中运行良好。

部分视图使用 Inherits 控件标记,就像完整视图将模型对象强类型化为数据类型一样。

这是一个非常简单的局部视图示例,它通过 ajax 调用返回并放入 div 中。此部分视图的目的是显示一条传递给它的文本消息。

LiteralMessage.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>" %>
<!-- LiteralMessage.ascx start -->
<%= Model %>
<!-- LiteralMessage.ascx end -->

控制器方法

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ReturnId(int id)
{
    return PartialView("LiteralMessage", string.Format("Hello world! Id: {0}", id));
}

请注意,在部分页面视图中可以是任何复杂对象。

我希望这会有所帮助!

编辑: 并且因为它也被列为 jQuery,所以将它用作 ajax 的 success 事件。 (这是假设您的对话框有一个 Id 为 MyDialogMessage 的内容 DIV 在一个 Id 为 MyDialog 的对话框 DIV 中)

// executes when $.post is complete
function doSuccess(result)
{
    $('div#MyDialog div#MyDialogMessage').html(result);
    //show dialog
    $('div#MyDialog').dialog('open');
}

【讨论】:

    【解决方案2】:

    我会在返回partial view 的控制器上创建一个操作。然后使用Colorbox(通过其 IFRAME 属性)通过 jQuery 加载控制器的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 2020-03-30
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      相关资源
      最近更新 更多