1

有人可以告诉我为什么这不起作用,因为我迷路了,对 C# 来说有点新并且来自 php 环境

<asp:ListItem Value="<%:(int)Student.Classes.Enum.Enum.gender.male%>">Male</asp:ListItem>

但是如果我在外面使用这个确切的代码,它就完美了,例如

I am <%:(int)Student.Classes.Enum.Enum.gender.male%>
4

2 回答 2

1

正如建议的那样,您应该使用 .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(...) %>
于 2013-04-02T17:21:12.220 回答
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();
}
于 2013-04-02T16:30:52.850 回答