ASP MVC模型问题
本文关键字:问题 模型 MVC ASP | 更新日期: 2023-09-27 18:05:49
我有一个模型:
public class MenuItem
{
public int Id { get; set; }
....
[StringLength(50)]
public string PageTemplate { get; set; }
public int MenuId { get; set; }
public Menu Menu { get; set; }
}
注意PageTemplate。我需要以某种方式创建一个属性,列出文件夹中的文件。这个属性应该是视图中的一个选择列表,然后保存在PageTemplate中。
正确的做法是什么?
在模型中添加:
public IEnumerable<SelectListItem> Templates { get; set; }
在action方法中填充您的数据到属性:
public ActionResult Create()
{
return View(new MenuItem
{
Templates = _yourFilesList.
.Select(f => new SelectListItem { Text = f.Title })
});
}
[HttpPost]
public ActionResult Create(MenuItem item)
{
var userTemplate=item.PageTemplate; // user's selected item is there
}
最后在视图中添加这个
@Html.DropDownListFor(x => x.PageTemplate , Model.Templates)