2010-02-03 72 views
0

我有一个asp.net mvc视图上的链接,它打开一个模式弹出窗口,其中第二个MVC视图呈现。模式对话框/弹出窗口ASP.NET MVC回发

Modal弹出窗口中的视图暴露了几个触发回发的功能。回发会激发正确的控制器方法,但是当我返回更新后的视图时,视图本身就会呈现,而不是在模态弹出框中呈现。

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

我想实现的是在模式弹出窗口的视图中的回传将更新的视图载入模态窗口?

任何人都可以帮忙吗?

我见过部分视图和ajax调用的引用,但不知道它们如何最适合?

感谢, 格里夫

+0

这里整齐[文章](http://yassershaikh.com/how-to-create-a-modal-popup-in-asp-net-mvc -3-using-jquery /)... – Yasser 2012-09-26 11:52:55

回答

0

首先,MVC不回传,它只是做普通的提交。可能看起来像语义,但有一个根本的区别。

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

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

+0

在这里意外地输入了代码 – 2010-02-03 18:37:10

0

感谢您的回复......是的,您的权利当然我应该指定提交而不是回发!我是一个转换的asp.net头,所以仍然陷入这种思维模式!

我想我得到的想法,只是不知道如何去做,具体如何设置一个div的内容从ajax请求?

试图东西liek这样的:

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

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

你应该把它作为注释留给我的答案:)通常在StackOverflow上,答案应该只是答案。 无论如何,在你的例子中,在行动中你在返回什么? – Wil 2010-02-04 12:59:18