如何在asp.net MVC中使用jquery模态弹出窗口打开部分视图?

发布于 2024-08-07 23:13:45 字数 105 浏览 9 评论 0原文

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

提前致谢。

I have a partial view which I want to open by using JQuery Modal Popup. There is no problem while opening the view for a new record but I want to pass data to this partial view for edit. What is your best way to implement this?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

美人迟暮 2024-08-14 23:13:45

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

部分视图使用 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 为 MyDialog 的对话框 DIV 内有一个 Id 为 MyDialogMessage 的内容 DIV)

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

I have this working well in my current project.

A partial view uses the Inherits control markup just like a full view does to strongly type the Model object to a datatype.

Here is a very simple example of a partial view that is returned via a ajax call and put inside a div. The purpose of this partialview is to display a text message that is passed through to it.

LiteralMessage.ascx

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

Controller Method

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

Note that in the partial page view can be any complex object.

I hope this helps!

EDIT: and because this is listed as jQuery as well, use this as your ajax's success event. (This is assuming your dialog has a content DIV with an Id of MyDialogMessage inside a dialog DIV with an Id of MyDialog)

// executes when $.post is complete
function doSuccess(result)
{
    $('div#MyDialog div#MyDialogMessage').html(result);
    //show dialog
    $('div#MyDialog').dialog('open');
}
呢古 2024-08-14 23:13:45

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

I would create a action on a conroller that returns the partial view. Then use Colorbox (via its IFRAME attribute) to load the results of the controller via jQuery.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文