C# 在gridview中格式化枚举

C# 在gridview中格式化枚举,c#,asp.net,gridview,C#,Asp.net,Gridview,我需要在gridview中显示枚举的名称 按数据表返回其数值 我在其他专栏中使用这个 <asp:BoundField DataField="Name" HeaderText="User Name" /> 我需要将其用于enum以显示enum性别的字符串值 <asp:BoundField DataField="Gender" HeaderText="Gender" /> 试试这个解决方案 它帮助了我:) 然后我发现这更简单 <asp:Template

我需要在gridview中显示枚举的名称 按数据表返回其数值

我在其他专栏中使用这个

<asp:BoundField DataField="Name" HeaderText="User Name" /> 

我需要将其用于enum以显示enum性别的字符串值

<asp:BoundField DataField="Gender" HeaderText="Gender" /> 

试试这个解决方案


它帮助了我:) 然后我发现这更简单

<asp:TemplateField HeaderText="Gender">
  <ItemTemplate><%#(MyGenderEnum)Eval("Gender")%></ItemTemplate>
</asp:TemplateField>

如果您更喜欢VB.NET:

 <asp:TemplateField HeaderText="Status" SortExpression="VisibilityStatus">
      <ItemTemplate>
          <%# [Enum].GetName(GetType(VisibilityStatusEnum), Eval("VisibilityStatus"))%>
      </ItemTemplate>
 </asp:TemplateField>

此版本在VB.NET中适用于我:

<asp:TemplateField HeaderText="Gender">
   <ItemTemplate><%# CType(Eval("Gender"), Gender).ToString() %></ItemTemplate>
</asp:TemplateField>


令人遗憾的是,它不能与DirectCast而不是CType一起工作,并且在我添加ToString()之前,它仍然显示整数。在我的例子中,我还必须将名称空间添加到我的枚举中。

我正在尝试类似的方法,但没有编写infactThanx man它的编写。。。对于templatefield,我使用的是boundfield,dnt knw y,同样的东西没有在那里工作
<asp:TemplateField HeaderText="Gender">
   <ItemTemplate><%# CType(Eval("Gender"), Gender).ToString() %></ItemTemplate>
</asp:TemplateField>