我在asp.net mvc视图上有一个链接,它打开一个模式弹出窗口,其中呈现第二个MVC视图。
“模态”弹出窗口中的视图公开了几个触发回发的功能。回发激发正确的控制器方法,但是当我返回更新的视图时,视图本身是渲染而不是在模态弹出窗口中渲染。
即弹出窗口关闭,我不再是第一个“父页面”,而是加载了模式弹出窗口中视图的独立URL。
我想要实现的是,模态弹出窗口中的回发将更新的视图加载回模态窗口?
有人可以帮忙吗?
我见过对部分视图和ajax调用的引用,但不确定它们最适合的方式?
谢谢, 格里夫
答案 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>