我正在使用C#编写ASP.net MVC 2.0应用程序。
我使用Ajax.beginForm()来发出Postbacks / Ajax请求。
我的页面,我有一个下拉菜单并提交按钮。下拉列表包含状态为0的用户列表。
当选择某个特定用户并单击提交时,他的状态将更新为1。
因此,在成功的Ajax请求之后,我正在调用一个回调函数来发出一个提醒,即用户状态已成功更新。
但是,问题是即使用户状态更新为1,它仍然存在于下拉列表中......因为它是部分更新。
现在,我的问题是我如何重新加入下拉列表?请帮忙。
答案 0 :(得分:1)
您可以通过制作新的ajax请求重新下载您的下拉菜单,以便在成功发布后接收状态为0的当前用户。
或使用jquery从下拉列表中动态删除所选用户。
或者您可以将ajax表单放在局部视图中并在ajax post之后重新呈现它,并完全更新您的ajax表单:
[HttpPost]
Public ActionResult Post(...)
{
//do somethings
return Partial("_YourAjaxFormPartialView");
}
并在您的Ajax.BeginForm()中,使用AjaxOptions指定要更新的区域:
<div id="formContainer">
@using (Ajax.BeginForm("PostAction", "Home",
new AjaxOptions() {
UpdateTargetId = "formContainer",
OnSuccess = "alert('success')"
}))
</div>