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中。

正确的做法是什么?

ASP MVC模型问题

在模型中添加:

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)