1

私は現在シリーズのテーブルを持っています。このテーブルには、テーブルStatusにリンクする外部キーであるフィールドstatus_idが存在します。ステータスは、新規、実行中、終了、...のいずれかになります。

私のモデルクラスは次のようになっています。

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 に答える