-1

次のような ViewModel があります。

public class MyViewModel
{
    public string SelectedItem { get; set; }
    public List<MyClass> Items { get; set; }
}

これらのアイテムを画面に@Html.DropDownListFor(m => m.SelectedItem, new SelectList(...)).

わかりましたが、この ViewModel を受け取るアクションを呼び出すと、このコレクションは空になります。アクションを呼び出したときに DropDownList の値を取得する方法はありますか?

4

3 に答える 3

3

これは通常の動作であり、HTML の仕組みです。<select>コレクション全体ではなく、要素の選択された値のみがサーバーに送信されます。POST アクションでコレクションを取得する場合は、最初に GET アクションで取得したのとまったく同じことを行う必要があります。これは通常、データベース呼び出しです。また、データベースに頻繁にアクセスすることが心配な場合は、コレクションをキャッシュしてください。

于 2013-07-27T13:58:59.093 に答える