1

我正在学习 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( ??? )
4

3 回答 3

2
@Html.DropDownListFor(model => colors, colors)
于 2012-04-10T06:23:08.957 回答
1

您需要在页面顶部定义模型的类型。使用 lambda 表达式指定模型的哪个属性绑定到 Drop Down。

@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)
于 2012-04-10T06:16:37.673 回答
0
<%= Html.DropDownListFor(x => x.ColorsId, new SelectList(list, "ColorsId", "ColorsName")) %> 
于 2012-04-10T06:23:09.643 回答