【发布时间】:2010-11-01 02:51:58
【问题描述】:
我的页面上有一个“编辑配置文件”灯箱,它通过 jQuery ajax 发布到控制器。我在 jquery 端处理响应而不是返回视图。但是,保存配置文件后,我需要刷新显示弹出窗口的页面上的值。我如何在 MVC2 中实现这一点?例如,如果用户更改了她的姓名和头像(在灯箱中),在她保存个人资料后,我想更新页面上所有出现的头像和名称。
【问题讨论】:
标签: c# .net asp.net jquery asp.net-mvc
我的页面上有一个“编辑配置文件”灯箱,它通过 jQuery ajax 发布到控制器。我在 jquery 端处理响应而不是返回视图。但是,保存配置文件后,我需要刷新显示弹出窗口的页面上的值。我如何在 MVC2 中实现这一点?例如,如果用户更改了她的姓名和头像(在灯箱中),在她保存个人资料后,我想更新页面上所有出现的头像和名称。
【问题讨论】:
标签: c# .net asp.net jquery asp.net-mvc
我要做的是让你的控制器返回一个 PartialViewResult,最终结果基本上是 HTML。
Partial View 将是弹出窗口本身,因此基本上您通过 AJAX 调用 Controller 方法,执行服务器端工作,然后将 Partial View 重新呈现给客户端。
【讨论】:
让您通过 jQuery 发布到的操作返回 success for failure 消息。如果是success,请使用文本框中已有的值(即:您发布到控制器的值)更改页面上的头像/名称/等。如果是failure 消息,则显示验证错误。
在你的jQuery AJAX中,一切都可以在AJAX请求的回调函数中完成。
【讨论】:
best standard practice,但我详述的方法简单有效;我认为使用它没有任何缺点。
Prabhu - 您的个人资料页面(即其中包含的“主”div)和弹出 div 都应该是部分视图。在将弹出窗口发布回服务器时,您应该重新查询主页面部分视图并返回适当的 html,以“主”div 为目标。
这当然是我为非常相似的任务所采取的方法。
【讨论】: