如何在Ajax请求后重新下载我的下拉列表

时间:2013-10-24 16:00:15

标签: c# ajax asp.net-mvc

我正在使用C#编写ASP.net MVC 2.0应用程序。

我使用Ajax.beginForm()来发出Postbacks / Ajax请求。

我的页面,我有一个下拉菜单并提交按钮。下拉列表包含状态为0的用户列表。

当选择某个特定用户并单击提交时,他的状态将更新为1。

因此,在成功的Ajax请求之后,我正在调用一个回调函数来发出一个提醒,即用户状态已成功更新。

但是,问题是即使用户状态更新为1,它仍然存在于下拉列表中......因为它是部分更新。

现在,我的问题是我如何重新加入下拉列表?请帮忙。

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>