我的页面上有一个“编辑个人资料”灯箱,它通过jQuery ajax发布到控制器。我在jquery端处理响应而不是返回View。但是,保存配置文件时,我需要刷新显示弹出窗口的页面上的值。我怎么能在MVC2中实现这一点?例如,如果用户更改了她的名字和头像(在灯箱中),在保存个人资料后,我想在页面上的任何位置更新头像和名称。
答案 0 :(得分:2)
我要做的是让你的Controller返回 PartialViewResult ,最终结果基本上是HTML。
部分视图本身就是弹出窗口,所以基本上是通过AJAX调用Controller方法,进行服务器端工作,然后将部分视图重新渲染到客户端。
答案 1 :(得分:0)
让您通过jQuery发布的操作为success
消息返回failure
。如果是success
,请使用文本框中已有的值(即:您发布到控制器的值)更改页面上的头像/名称/等。如果是failure
消息,则显示验证错误。
在你的jQuery AJAX中,一切都可以在AJAX请求的回调函数中完成。
答案 2 :(得分:0)
Prabhu - 您的个人资料页面(即其中包含的'main'div)和弹出式div应该是partialviews。将弹出窗口发布回服务器时,您应该重新查询主页面部分视图并返回相应的html,目标是“主”div。
这肯定是我为一项非常类似的任务所采用的方法。