簡體   English   中英

ASP.NET MVC 2-如何從下拉菜單中獲取選定的值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM