有人可以告诉我为什么这不起作用,因为我迷路了,对 C# 来说有点新并且来自 php 环境
<asp:ListItem Value="<%:(int)Student.Classes.Enum.Enum.gender.male%>">Male</asp:ListItem>
但是如果我在外面使用这个确切的代码,它就完美了,例如
I am <%:(int)Student.Classes.Enum.Enum.gender.male%>
正如建议的那样,您应该使用 .NET MVC 而不是 webforms,因此您应该使用 .NET MVC 而不是在<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" } )
您仍然可以将 ASPX 用于 .NET MVC 中的渲染引擎,在这种情况下您可以使用:
<%: Html.DropDownList(...) %>
我对这种事情有点生疏,@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();
}