【发布时间】:2014-11-19 16:14:00
【问题描述】:
从 DropDownListFor 中选择一个值后,我需要更新表格行。
@Html.DropDownListFor(model => model.NumACTI, Model.NumactItems, "Choisissez un Numero ACTI", new { @id = "ddlTMManagers", onchange = "MyFunction()" })
Ajax 函数:
function MyFunction() {
var districtId = $('#ddlTMManagers option:selected').text();
var CodeClient = $('#ddlTextbox').val();
$.ajax({
url: 'ListChargement',
type: 'POST',
data: JSON.stringify({ districtId: districtId, CodeClient: CodeClient }),
dataType: 'json',
contentType: 'application/json'
});
控制器中的动作:
public ActionResult ListChargement(string districtId, string CodeClient)
{
return RedirectToAction("Index", new { CodeClient= CodeClient,districtId= districtId });
}
我确实得到了两个值“districtId”和“CodeClient” 但索引中表的值不会更新。
【问题讨论】:
-
ddl在同一个视图中?
-
您在进行 ajax 调用。 Ajax 调用保持在同一页面上,因此
return RedirectToAction("Index"...毫无意义。你到底想做什么。您是要更新同一页面上的某些内容(在这种情况下返回 Json 或部分视图并更新 DOM)还是要重定向(在这种情况下将下拉列表放入表单并执行标准提交 -
是的,我只想更新同一页面中的内容
-
然后更改
ListChargement以返回部分视图或Json(取决于您在视图中尝试更新的内容),然后在成功函数中,使用返回结果更新DOM。 -
感谢 Stephen 终于成功了。
标签: asp.net-mvc asp.net-mvc-4 razor html.dropdownlistfor