2013-04-02 90 views
1

可以有一個人請告訴我,爲什麼這是行不通的,因爲即時通訊丟失了,一種新的C#和PHP環境在HTML中使用枚舉值屬性

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

來,但如果我使用這個選項確切的代碼它完美的作品如

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

你這是什麼期望看到和看到什麼? – Oded

+0

我希望看到** 1 **,當我像第二行代碼一樣使用它時,我得到**我是1 **,這是正確的,但是在第一行中,整行按原樣打印,像它的文字 – Lappies

+0

這就是你所做的。您正在給出列表項_value_ a 1,但文本是「Male」。你看過HTML源代碼來看看它的樣子嗎? – Oded

回答

0

我有點生疏這種事情,@克里斯是正確的,進入MVC,如果你對C#等出發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(); 
} 
0

至於建議,你應該使用.NET MVC,而不是Web表單的,所以不是使用<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(...) %>