日期:2014-05-19  浏览次数:20478 次

怎么根据前台绑定的值从后台获取显示的文字
比如:如果前面 <%#   DataBinder.Eval(Container.DataItem, "userclass ")%> 值为1,则该列显示“超级管理员”

前台页面:

<ItemTemplate>
<asp:Label   id= "lbl_userclass "   Runat= "server ">
<%#   DataBinder.Eval(Container.DataItem, "userclass ")%>
</asp:Label>
</ItemTemplate>

后台代码:
......
if   ((e.Item.ItemType   ==   ListItemType.Item)||(e.Item.ItemType   ==   ListItemType.AlternatingItem))  
{
Label   t   =   (Label)e.Item.FindControl( "lbl_userclass ");
int   userclass=Convert.ToInt32(t.Text);
e.Item.Cells[2].Text=BindDDL(userclass);
}
....
....
private   string   BindDDL(int   userclass)
{
string   userclassname   =   " ";
if   (userclass==1)
{
userclassname= "超级管理员 ";
}
else   if(userclass==2)
{
userclassname= "一般管理员 ";
}
else
{
userclassname   =   "注册会员 ";
}
return   userclassname;
}

...

------解决方案--------------------
public string BindDDL(int userclass)
{
string userclassname = " ";
if (userclass==1)
{
userclassname= "超级管理员 ";
}
else if(userclass==2)
{
userclassname= "一般管理员 ";
}
else
{
userclassname = "注册会员 ";
}
return userclassname;
}

前台
<%# BindDDL(Convert.ToInt32(DataBinder.Eval(Container.DataItem, "userclass ")))%>
------解决方案--------------------
添加一个 <input type=hidden id= "aa " value= " <%# DataBinder.Ev(Container.DataItem, "userclass ")%> ">

然后写一个javascript方法判断aa的值