模态对话框/弹出窗口上的ASP.NET MVC回发

时间:2010-02-03 14:41:58

标签: jquery asp.net-mvc popup modal-dialog

我在asp.net mvc视图上有一个链接,它打开一个模式弹出窗口,其中呈现第二个MVC视图。

“模态”弹出窗口中的视图公开了几个触发回发的功能。回发激发正确的控制器方法,但是当我返回更新的视图时,视图本身是渲染而不是在模态弹出窗口中渲染。

即弹出窗口关闭,我不再是第一个“父页面”,而是加载了模式弹出窗口中视图的独立URL。

我想要实现的是,模态弹出窗口中的回发将更新的视图加载回模态窗口?

有人可以帮忙吗?

我见过对部分视图和ajax调用的引用,但不确定它们最适合的方式?

谢谢, 格里夫

2 个答案:

答案 0 :(得分:0)

首先,MVC不回发,它只是定期提交。可能看起来像语义,但存在根本区别。

要回答您的问题,如果您想要更新模态窗口,您必须转到ajax路线。你想要做的是通过ajax发送请求并接收响应,然后更新模态窗口内的一些div。

您还可以通过引用要传递到视图中的模型的某些属性来执行hack,以便基于模型,您可以渲染正确的局部视图,然后在视图的末尾动态触发模态窗口触发器。

答案 1 :(得分:0)

感谢您的回复...是的,您当然应该指定提交而不是回发!我是一个转换后的asp.net头,所以仍然坚持这种心态!

我想我明白了,只是不确定如何去做,特别是如何从ajax请求中设置div的内容?

尝试了一些谎言:

 var URL = '<%= ResolveUrl("~") %>/ImagePicker/Index/0/283';
        $.get(URL, function(data) {
            $("#Result").html(data);
        }); 

<div id="Result"></div>