MVC4没有关于selchange的更新DropDownList Postback

时间:2014-04-28 06:12:59

标签: asp.net-mvc-4

我在DropDownList中更改了所选项后,一切正常。但视图不会在视图中显示新选择的项目(值)。 在我的代码中有@ Model.Name有什么问题?我已经花了很多时间来解决这个问题!

我的控制器看起来像这样:

    //
    // GET: /Province/
    public ActionResult Test()
    {
        ModelState.Clear();

        var items = _ProvinceService.GetAll();
        ViewBag.Lista = new SelectList(items, "Id", "Name", -1);

        var province = _LandskapService.FindByName("xyz");

        return View("Test", province);
    }


    // POST /Province/Test
    [HttpPost]
    public ActionResult Test(int provinceId)
    {
        if (ModelState.IsValid)
        {
            ModelState.Clear();

            var model = _ProvinceService.GetAll();
            var province = _ProvinceService.FindById(provinceId);

            ViewBag.Lista = new SelectList(model, "Id", "Name", province.Id);

            return View("Test", province);
        }
        else
        {
            return View();
        }
    }

以下是观点:

@Html.DropDownList("dropDownList3", (SelectList)ViewBag.Lista, "-- select province", new { onchange = "UpdateProvince()" })



<table style="border-collapse:collapse">
    <tr>
        <th style="width:200px">Name</th>
    </tr>
    <tr>
      <td> @Model.Name </td> Here is the problem: @Model.Name is correct but the view dont show it. Old value is displayed. But debugger shows right value (the selected value).              
    </tr>  


function UpdateProvince() {
    alert($('#dropDownList3').val());
    var SelCat = $("#dropDownList3").val();

    var text = $("#dropDownList3 option:selected").text();
    var value = $("#dropDownList3 option:selected").val();

    if (SelCat != 0) {
        var url = '@Url.Action("Test", "Province")';
      //  $.get(url, {provinceId : value});
        $.post(url, { provinceId: value });
    }
}

0 个答案:

没有答案