我有一个简单的模型/视图,包括用户名,密码等等,并使用帮助程序很好地连接它.
我现在有一个名为"NumberOfChildren"的字段.我想在其中存储一个数字(int),我希望它呈现一个包含"None","1","2"等的下拉框.
我的想法是模型将有一个列表或返回列表的方法,所以我可以指定我将数据放入的NumberOfChildren_List等值,然后DropDownListFor拉出该列表并呈现它,将值与下拉列表中项目的值.
然而,在花了大约30分钟试图弄清楚它是如何起作用后,我放弃了,并决定在这里问.有任何想法吗?
编辑:这是一些代码......
<%: Html.DropDownListFor(m => m.NumberOfChildren, new SelectList(Model.NumberOfChildrenListValues))%>
Run Code Online (Sandbox Code Playgroud)
在模型中
[Required]
[DisplayName("How many children do you have?")]
public string NumberOfChildren { get; set; }
public IEnumerable<string> NumberOfChildrenListValues
{
get
{
List<string> list = new List<string>() { "None", "1", "2" };
return list;
}
set
{
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的对象没有设置为对象错误的实例.想法?
尝试这样(您需要设置每个选项的文本和值 - 文本将用于在下拉列表中呈现,值将用于将所选项目绑定到属性NumberOfChildren):
[Required]
[DisplayName("How many children do you have?")]
public string NumberOfChildren { get; set; }
public IEnumerable<SelectListItem> NumberOfChildrenListValues
{
get
{
return new[]
{
new SelectListItem { Value = "0", Text = "None" },
new SelectListItem { Value = "1", Text = "1" },
new SelectListItem { Value = "2", Text = "2" },
};
}
}
Run Code Online (Sandbox Code Playgroud)
进而:
<%: Html.DropDownListFor(
m => m.NumberOfChildren,
Model.NumberOfChildrenListValues
) %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2299 次 |
| 最近记录: |