DropDownList の選択した値を新しいコントローラー メソッドに渡そうとしています。ただし、コントローラーでleagueKey
は、常に null が返されます。ドロップダウン リストに値が入力されています。
コントローラーに変更new { leagueKey = Model.SelectedLeagueKey}
するとnew {leagueKey = "test"}
、「テスト」値が正しく受信されます。DropDownList が、選択した値を にバインドしていないようModel.SelectedLeagueKey
です。
モデル
public Dictionary<string, string> Leagues { get; set; }
public string SelectedLeagueKey { get; set; }
意見
<div class="edit-field">
@Html.DropDownListFor(model => model.SelectedLeagueKey, new SelectList(Model.Leagues, "Key", "Value", Model.SelectedLeagueKey),"Select League")
</div>
@Html.ActionLink("Select League", "AddTeam", "Team", new { leagueKey = Model.SelectedLeagueKey}, null)
コントローラ
public ActionResult AddTeam(LTEDContext context, string leagueKey)
{
//Do something with leagueKey here
return View();
}