Repeater 控件中处理变量,后台方法,超链接权限问题

来源:互联网 发布:哈尔滨电商培训cms 编辑:程序博客网 时间:2024/05/10 18:16

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>
                              <%
                                  }%>