ASP.NET MVC:View不显示更新的模型

时间:2018-01-12 21:34:28

标签: c# jquery asp.net asp.net-mvc

我无法理解这一个。我有Html.DropDownList,我只想在Html.Display项目中显示所选项目的值。

模型

public class MyModel
{
    private List<string> _items = null;
    private string _selectedItems = string.Empty;

    public MyModel()
    {
        _items = new List<string> { "item1", "item2", "item3" };
        _selectedItems = _items[0];
    }

    public List<string> Items { get { return _items; } }

    public string SelectedItem
    {
        get{ return _selectedItems; }
        set { if (_selectedItems != value) { _selectedItems = value; } }
    }
}

查看

@model MyModel

@Html.DropDownListFor(model => model.SelectedItem, new 
SelectList(@Model.Items), new { onchange = "SelectedItemChanged(this);" })
@Html.DisplayFor(model => model.SelectedItem)

控制人员的行动

    [HttpPost]
    public ActionResult OnSelectedItemChanged(string itemName)
    {   
        return View("Index", new MyModel { SelectedItem = itemName }); 
    }

我使用ajax来调用控制器的方法 - 在我的视图中,在我的脚本部分中:

function SelectedItemChanged(selectObj) {
    itemName = selectObj.value;
    $.ajax({
        type: 'POST',
        url: '@Url.Action("OnSelectedItemChanged","Home")',
        data: { 'itemName': itemName },
    });
}

控制器被正确调用,但由于某种原因,浏览器显示的视图不会更新,文本字段仍显示初始&#34; item1&#34;值。怎么样?

我还应该注意,查看&#34;响应&#34; ajax请求的选项卡,响应html正确更新!

我做错了什么?

0 个答案:

没有答案