1

我目前有一个系列表。在这个表中,存在一个字段status_id,它是链接到表Status的外键。状态可以是新的、正在运行的、已结束的……

我的模型类看起来像这样:

public partial class Serie
{
    public Serie()
    {
        this.Episodes = new HashSet<Episode>();
    }

    public int ID { get; set; }
    public string Name { get; set; }
    public string Country { get; set; }
    public Nullable<int> Status_id { get; set; }

    public virtual ICollection<Episode> Episodes { get; set; }
    public virtual Status Status { get; set; }
}

地位:

public partial class Status
{
    public Status()
    {
        this.Series = new HashSet<Serie>();
    }

    public int ID { get; set; }
    public string Name { get; set; }

    public virtual ICollection<Serie> Series { get; set; }
}

在编辑系列时,我想要一个包含所有可能状态(名称字段)的下拉列表,并在用户提交表单时收到它。实现这一目标的最佳方法是什么?

4

2 回答 2

1

最简单的答案是您需要一个高管列表,将模型中的列表传递回您的视图,创建一个选择列表,然后呈现一个下拉列表。

public ActionResult EditSomething()
{
    Model Model = new Model();
    Model.statusList = {some method to fill IEnumerable<status>};

    return View(Model);
}

在您看来:

@Html.DropDownListFor(model => model.Id, new SelectList(Model.statusList, "Id", "Name "))
于 2013-02-10T18:54:05.927 回答
0

您需要使用创建下拉列表<%= Html.DropDownList("StatusId", Model.Statuses)%>。您将使用所有可能的状态填充您的视图模型,记录用户在变量中选择的状态的 id,该变量在用户提交表单时随您的视图模型一起发送。这是一篇详细介绍该过程的文章:http: //odetocode.com/blogs/scott/archive/2010/01/18/drop-down-lists-and-asp-net-mvc.aspx

于 2013-02-10T18:50:27.480 回答