Repeater 控件中处理变量,后台方法,超链接权限问题
例如要显示相关的内容 要根据条件显示
方法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>
方法2.直接用条件语句
<%#Convert.ToInt32(DataBinder.Eval(Container.DataItem, "level "))==0? "普通教师 ": "实验室用户 "%>
注意一点DataBinder.Eval()必须跟着<%#%>后面,否则无法取得字段
案例二:
根据后台取得的变量来判断是否显示超链接?
后台声明变量权限为public
<% if (operate == "1")
{%>
<a href ="cust_listedit.aspx?id=<%#DataBinder.Eval(Container.DataItem, "id")%>">修改</a>
<br/>
<a href ="check.aspx?audit=Y&id=<%#DataBinder.Eval(Container.DataItem, "id")%>">通过</a>|
<a href ="check.aspx?audit=N&id=<%#DataBinder.Eval(Container.DataItem, "id")%>">不通过</a>
<%
}%>
如果还要加其中的一个字段来判断,就在后台做一个方法
audit为审核标志 如果为那么就加超链接,如果已经审核就不显示超链接
public static string Check(string audit)
{
if (audit == "" || audit==null)
{
return " <a href ='check.aspx?audit=Y&id=";
}
else
{
return "";
}
}
<% if (operate == "1")
{%>
<a href ="cust_listedit.aspx?id=<%#DataBinder.Eval(Container.DataItem, "id")%>"><%#
(DataBinder.Eval(Container.DataItem,"audit").ToString())==""?"修改":""%></a>
<br/>
<%#Check(DataBinder.Eval(Container.DataItem,"audit").ToString())%><%#DataBinder.Eval
(Container.DataItem, "id")%><%#(DataBinder.Eval(Container.DataItem,"audit").ToString())!=""?"'>通过</a>":"'></a>"%>
<%#NoCheck(DataBinder.Eval(Container.DataItem,"audit").ToString())%><%#DataBinder.Eval
(Container.DataItem, "id")%><%#(DataBinder.Eval(Container.DataItem,"audit").ToString())!=""?"'>不通过</a>":"'></a>"%>
<%
}%>
两种方法都可以
不过还是觉得第能在页面上控制 代码简单些改成
<% if (operate == "1")
{%>
<a href ="cust_listedit.aspx?id=<%#DataBinder.Eval(Container.DataItem, "id")%>"><%#
(DataBinder.Eval(Container.DataItem,"audit").ToString())==""?"修改":""%></a>
<br/>
<a href ="check.aspx?audit=Y&id=<%#DataBinder.Eval(Container.DataItem, "id")%>"><%#
(DataBinder.Eval(Container.DataItem,"audit").ToString())==""?"通过":""%></a>
<a href ="check.aspx?audit=Y&id=<%#DataBinder.Eval(Container.DataItem, "id")%>"><%#
(DataBinder.Eval(Container.DataItem,"audit").ToString())==""?"不通过":""%></a>
<%
}%>
<% if (operate == "2")
{%>
<a href ="cust_recdetail.aspx?audit=<%#DataBinder.Eval(Container.DataItem, "audit")%>&id=<%
#DataBinder.Eval(Container.DataItem, "id")%>">反馈信息</a>
<%
}%>