日期:2014-05-18  浏览次数:20442 次

(在线等)谁能教下我将<%#DataBinder.Eval(Container.DataItem,"level")%>(level为INT类型)在页面中显示为汉字啊.
代码如下,我想在页面中显示普通教师,实验室用户,管理员..而不是数字0,1,2...谁能帮一下呀...谢谢..
<asp:TemplateColumn   HeaderText= "权限 ">
<ItemTemplate>
<asp:Label   ID= "lel "   Runat= "server "   Text= ' '>
<%#DataBinder.Eval(Container.DataItem, "level ")%>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList   id= "DropDownList1 "   runat= "server "   DataTextField= "level ">
<asp:ListItem   Value= "0 "   Text= "普通教师 "   > </asp:ListItem>
<asp:ListItem   Value= "1 "   Text= "实验室用户 "> </asp:ListItem>
<asp:ListItem   Value= "2 "   Text= "管理员 "> </asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>

------解决方案--------------------
方法1.后台写一个转换的方法,调用就是了

public static string ChangeIntToDescrible(int inputInt)
{
switch(inputInt)
{
case 0:
return " 普通教师 ";
case 1:
return "实验室用户 ";
case 2:
return "管理员 ";
...
default:
return "非法用户 ";
}
}
然后
<asp:Label ID= "lel " Runat= "server " Text= '
<%# ChangeIntToDescrible(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "level "))%> '> </asp:Label>


ps:
<asp:Label ID= "lel " Runat= "server " Text= ' '>
<%#DataBinder.Eval(Container.DataItem, "level ")%>
</asp:Label> //LZ这样写在asp.net正确吗?

方法2.直接用条件语句

<%#Convert.ToInt32(DataBinder.Eval(Container.DataItem, "level "))==0? "普通教师 ": "实验室用户 "%>

后面在继续嵌套就是了