Я хочу сделать автоответчик в выпадающий список.
Моя форма на просмотр:
@using (Html.BeginForm("Index", "Model", FormMethod.Post))
{
@(Html.Telerik().DropDownList()
.Name("ddlBrands")
.BindTo((IEnumerable<SelectListItem>)ViewData["brands"])
.ClientEvents(events => events
.OnChange("onDropDownListChange")
)
)
<input type="submit" value="OK" />
<table style="margin:15px; margin-left:0px;">
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.FullModel)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ModelID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ModelID })
</td>
</tr>
}
</table>
}
и JavaScript:
<script type="text/javascript">
function onDropDownListChange(e) {
SimpleAjaxRequest('/Model/Index', e.value);
}
function SimpleAjaxRequest(url, requestData) {
return $.ajax(
{
type: 'POST',
url: url,
async: true,
data: { ddlBrands: requestData },
dataType: "json",
traditional: true
});
}
</script>
Я отправляю данные Post через Ajax из представления Index на сервер, и после манипуляций с данными мне нужно обновить данные в моей форме. как я могу это сделать? Я пытаюсь перенаправить на POST действие
[HttpPost]
public ActionResult Index(string ddlBrands)
{
SetBrandItems();
return RedirectToAction("Index", "Model", new {ddlBrands = ddlBrands});
}
после вызова действия GET
public ActionResult Index(int? ddlBrands)
{
SetBrandItems();
List<Model> m = dm.GetModelsByBrandId(ddlBrands).ToList();
return View(m);
}
но моя страница не обновляется и URL не изменяется, а данные не обновляются ...
кто-нибудь может мне помочь?