可以请一些人告诉我为什么这不起作用,因为我输了,有点新的c#和来自php环境
<asp:ListItem Value="<%:(int)Student.Classes.Enum.Enum.gender.male%>">Male</asp:ListItem>
但如果我在外面使用这个确切的代码,它就可以完美地运作,例如
I am <%:(int)Student.Classes.Enum.Enum.gender.male%>
答案 0 :(得分:1)
按照建议,您应该使用.NET MVC而不是webforms,因此您应该使用<asp:ListBox>
而不是@Html.DropDownList
。
点击此处了解详情:
http://agilewarrior.wordpress.com/2012/12/13/how-to-simple-html-dropdownlistfor-mvc-net/
您的下拉列表/列表框的代码为:
@Html.DropDownList("StudentGender",
new List<SelectListItem>() {
new SelectListItem(){ Text="Male",Value=Student.Classes.Enum.Enum.gender.male.ToString() },
new SelectListItem(){ Text="Female",Value=Student.Classes.Enum.Enum.gender.female.ToString() }
}, new { @class = "input-medium", size="6", multiple="multiple" } )
你仍然可以在.NET MVC中使用ASPX作为渲染引擎,在这种情况下你可以使用:
<%: Html.DropDownList(...) %>
答案 1 :(得分:0)
我对这种事情有点生疏,@ chris是对的,如果你的C#等开始进入MVC,ASP.Net将在5 - 10年内死掉。
无论如何,我假设你有类似的东西:
<asp:ListBox runat="server" Id="listBox">
</asp:ListBox>
你想要在代码中设置它:
public Page_Load()
{
listBox.DataSource = Enum.GetValues(typeof(Student.Classes.Enum.Enum.gender));
listBox.DataBind();
}