如何更新 MVC3 中的下拉列表。我想用其他视图填充的最新数据重新填充它,但我不想回发视图并想用 jquery 实现它。我有一个下拉列表,例如:
@Html.DropDownListFor(m => m.Department, Model.Departments)
@Html.ValidationMessageFor(m => m.Departments)
<input type="button" value="Refresh" id="btnrefresh" />
我已经编写了 jquery 代码来调用控制器的方法:
$("#btnrefresh").click(function () {
var ref = '@Url.Action("RefreshDepartments")';
var model = '@Model.ToJson()';
var data = { empModel: model };
$.getJSON(ref, data, function (result) { alert(result.message); });
return false;
});
这是控制器方法:
public ActionResult RefreshDepartments(EmployeeModel empModel)
{
empModel.Departments = GetDepartments();
empModel.Roles = GetRoles();
return Json(new { message = "Updated successfully"}, JsonRequestBehavior.AllowGet);
}
在没有任何回发的情况下,如何在单击“刷新”按钮时使用最新值更新下拉列表?将模型传递给控制器并更新模型属性是个好主意吗?还有哪些可能的方法?