我有一个部分视图,我想通过使用JQuery Modal Popup打开它。打开新记录的视图时没有问题,但我想将数据传递到此部分视图进行编辑。你最好的方法是什么?
提前致谢。
答案 0 :(得分:3)
我在目前的项目中运作良好。
部分视图使用继承控件标记,就像完整视图强烈地将Model对象类型化为数据类型一样。
这是一个非常简单的局部视图示例,它通过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的成功事件。 (这假设你的对话框在一个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');
}
答案 1 :(得分:1)
我会在控制器上创建一个返回partial view的动作。然后使用Colorbox(通过其IFRAME属性)通过jQuery加载控制器的结果。