【发布时间】:2015-05-21 19:14:06
【问题描述】:
我正在尝试使用 dropDownListFor 将模型从我的视图传递到我的控制器。
从列表中选择某些内容后,它会将模型发送到我的控制器,但它的内容是 NULL。
这就是我的模型
public class Model
{
public int ModelId { get; set; }
[Required]
public string Name { get; set; }
}
这就是我的 ViewModel 的样子
public class ModelVM
{
public List<Model> Models;
public Model SelectModel { get; set; }
public IEnumerable<SelectListItem> ModelItems
{
get { return new SelectList(Models, "ModelId", "Name"); }
}
}
我将数据放入 ViewModel 时的控制器如下所示
public ActionResult Index()
{
ModelVM modelVM= new ModelVM()
{
Models = manager.GetAllModels().ToList()
};
return View(modelVM);
}
最后,这就是我在 dropDownList 的视图中所拥有的
@using (Html.BeginForm("Home", "Home", FormMethod.Post))
{
@Html.DropDownListFor(model => model.SelectModel, Model.ModelItems)
<input type="submit" value="Go" />
}
所以这应该将模型发送到我的控制器。
但是当我检查控制器中传递的模型的内容时,一切都是NULL,这不应该是因为当我调试视图并检查模型项的内容时,模型项中的所有内容都在那里。
这是我检查传递模型的内容时
public ActionResult Home(Model model) <<<<<<<<<< Content == NULL
{
return View();
}
【问题讨论】:
标签: asp.net-mvc-4 razor html.dropdownlistfor