![](/img/trans.png)
[英]How to determine selected value for drop down lists in asp.net MVC View?
[英]ASP.NET MVC 2 - How can I get the selected value from a drop down into my view model?
我正在通過創建下拉列表
<%= Html.DropDownList("data.Language", Model.LanguageOptions) %>
並想通過自動將模型綁定到我的LanguageModel視圖模型中來讀取其值:
public ActionResult Save(LanguageModel data)
但是,調用Save方法時,data.Language為null。
如何從我的data.Language下拉列表中獲取選定的值到data.Language?
擺脫數據。
<%= Html.DropDownList("Language", Model.LanguageOptions) %>
或嘗試:
<%= Html.DropDownListFor(m => m.Language, Model.LanguageOptions) %>
(盡管m.Langage可能不正確-這取決於您如何設置視圖模型)
我不知道您的控制器動作和模型是什么樣子,但這確實可以工作:
模型:
public class LanguageModel
{
public string Language { get; set; }
public IEnumerable<SelectListItem> LanguageOptions
{
get
{
return new[]
{
new SelectListItem { Value = "en", Text = "English" },
new SelectListItem { Value = "fr", Text = "French" },
};
}
}
}
控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new LanguageModel());
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(LanguageModel data)
{
return View(data);
}
}
視圖:
<% using (Html.BeginForm()) { %>
<%= Html.DropDownList("Language", Model.LanguageOptions) %>
<input type="submit" value="OK" />
<% } %>
<div><%= Html.Encode(Model.Language) %></div>
當然,如果您使用的是ASP.NET MVC 2.0,則最好使用強類型的DropDownListFor
幫助器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.