如何维护表单

时间:2018-03-22 19:13:09

标签: c# asp.net-mvc razor

我有一个View,允许用户从下拉列表中选择一个项目,然后将其发布到ControllerViewModel具有下拉项列表和所选项的属性。一切正常,除了我想在表单POST后保留列表。

我认为我可以通过为列表生成隐藏字段来促进模型绑定,但这看起来很混乱。实现这一目标的干净方法是什么?感谢。

以下是相关代码:

视图模型

public class CreateUserViewModel
{
    public int LocationId { get; set; }
    public List<UserLocationViewModel> Locations { get; set; }

    public class UserLocationViewModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
}

视图

@Html.LabelFor(model => model.LocationId)
@Html.DropDownListFor(model => model.LocationId,
                      new SelectList(Model.Locations, "Id", "Name"), 
                      "-- Select Location --"))

控制器

public ActionResult Create(CreateUserViewModel model)

修改

场景是通过ajax在模式对话框中发布一个表单,我需要在控制器中进行验证,但是能够保留viewmodel的状态,以便我可以在模态表单上显示验证内容。我有这个工作,但目前需要重新填充列表,然后在验证失败时返回模型。

0 个答案:

没有答案