簡體   English   中英

如何使用此代碼執行 @Html.DropDownListFor?

[英]How to do a @Html.DropDownListFor with this code?

我正在學習 MVC3,我希望我的下拉列表使用colors作為此處的數據。 我該怎么做?

我知道我可以用@Html.DropDownList("colors")做到這一點,但我想知道如何用@Html.DropDownListFor(....)做到這一點? 我有點難過,任何幫助和解釋都將不勝感激。

為了方便起見,我將所有內容都放在一個頁面中,所以這不是真實世界的應用程序。

@functions {

    private class Colors
    {
        public int ColorsId { get; set; }
        public string ColorsName { get; set; }
    }

}

@{
    var list = new List<Colors>()
                {
                    new Colors() {ColorsId = 1, ColorsName = "Red"},
                    new Colors() {ColorsId = 2, ColorsName = "Blue"},
                    new Colors() {ColorsId = 3, ColorsName = "White"}
                };
    var colors = new SelectList(list, "ColorsId", "ColorsName", 3);
}

@Html.DropDownListFor( ??? )
@Html.DropDownListFor(model => colors, colors)

您需要在頁面頂部定義 model 的類型。 使用 lambda 表達式指定 model 的哪個屬性綁定到下拉列表。

@model MyModel

@functions {

    private class Colors
    {
        public int ColorsId { get; set; }
        public string ColorsName { get; set; }
    }

}

@{
    var list = new List<Colors>()
                {
                    new Colors() {ColorsId = 1, ColorsName = "Red"},
                    new Colors() {ColorsId = 2, ColorsName = "Blue"},
                    new Colors() {ColorsId = 3, ColorsName = "White"}
                };
    var colors = new SelectList(list, "ColorsId", "ColorsName", 3);
}

@Html.DropDownListFor(model => model.colors, colors)
<%= Html.DropDownListFor(x => x.ColorsId, new SelectList(list, "ColorsId", "ColorsName")) %> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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