`
s471417811
  • 浏览: 55495 次
社区版块
存档分类
最新评论

在.net的绑定事件中使用if控制语句

    博客分类:
  • .net
阅读更多
做项目中经常会遇到的一个问题,在Repeater中绑定了某个数据源,需要对某个值做判断来选择页面要显示的内容,一个表中有多个值,每个值不同,显示结果也不同,这就需要用if语句来做判断了。

但是在外部可以用的if语句在判断Repeater绑定值的时候会出现问题,当然如果内容代码少的情况下我们可以用 三目算法判断,这个是可以的,例子如下:  a==b?a:b;

但是当显示内同代码很多行的时候,这就不可取了,其实我们完全可以使用.net服务器组件的特性来完成我们的操作,在Repeater的显示内容的容器中(如:<table>,<tr>,<div>等)定义一个ID,并设置为服务器组件属性:runat="server"

再在Repeater绑定事件中判断该容器是否显示,事例代码如下:

前台:
<asp:Repeater ID="Repeater1" runat="server" 
                  onitemcreated="Repeater1_ItemCreated">
                  <ItemTemplate>
                      <tr id="depth2" runat="server">
                          <td align="left" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="img/menu_bg3.gif"  class="menuB">
                              <tr>
                                <td><a href="news_list.aspx?classId=<%#Eval("id")%>"><%#Eval("className") %></a></td>
                              </tr>
                          </table></td>
                        </tr>
                      <tr id="depth" runat="server">
                          <td background='<%# (Eval("id").ToString() ==classId || Eval("id").ToString()==perentId)?"img/menu_bj1.gif":"img/menu_bj5.gif"%>'><a href="<%#Eval("otherLink").ToString()==""?"news_list.aspx?classId="+Eval("id"):Eval("otherLink") %>" class="<%#(Eval("id").ToString()==classId || Eval("id").ToString()==perentId)?"STYLE3":""%>"><%#Eval("className") %></a></td>
                      </tr>     
                  </ItemTemplate>
              </asp:Repeater>



后台代码如下:
    protected void Repeater1_ItemCreated(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.DataItem != null)
        {
            if (((DataRowView)e.Item.DataItem).Row["depth"].ToString() == "2")
            {
                e.Item.FindControl("depth").Visible = false;
                e.Item.FindControl("depth2").Visible = true;
            }
            else
            {
                e.Item.FindControl("depth").Visible = true;
                e.Item.FindControl("depth2").Visible = false;
            }
        }

    }



如此,我们就可以实现完美控制前台的内容显示,而不需要写太多的繁琐代码,代码看起来也不是很凌乱,在例子中我还用了三目算法做样式的判断,基本上的功能都在这里面了,挖个坑先埋着,说不定以后忘了还可以回来看下0 0

分享到:
评论

相关推荐

    ado[1].net中文手册 学习 ado.net的重要资料

    创建和使用 DataView:描述如何创建 DataTable 中数据的动态视图,这些视图通常用于数据绑定应用程序。 创建 DataView:描述如何为 DataTable 创建 DataView。 使用 DataView 对数据排序和筛选:描述如何设置 ...

    亮剑.NET深入体验与实战精要2

    读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集实用性、思想性、趣味性于一体,内容共分为技术基础总结、系统架构设计思想及项目实战解析三部分,随书所附光盘收录大量实例...

    ASP.NET 3.5 开发大全

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    ASP.NET3.5从入门到精通

    2.5.1 if 语句的使用方法 2.5.2 switch 选择语句的使用 2.6 使用循环语句 2.6.1 for 循环语句 2.6.2 while 循环语句 2.6.3 do while 循环语句 2.6.4 foreach 循环语句 2.7 异常处理语句 2.7.1 throw 异常语句 2.7.2 ...

    ASP.NET 3.5 开发大全word课件

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    亮剑.NET深入体验与实战精要3

    读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集实用性、思想性、趣味性于一体,内容共分为技术基础总结、系统架构设计思想及项目实战解析三部分,随书所附光盘收录大量实例...

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf

    1.5.5 在visual studio 2010中记录和使用宏 55 1.5.6 类图 57 1.5.7 应用程序生命周期管理 58 1.5.8 性能工具 60 1.6 小结 62 第2章 对象和visual basic 63 2.1 面向对象的术语 64 2.1.1 对象、类和...

    ASP.NET 3.5 开发大全11-15

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    ASP.NET 3.5 开发大全1-5

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    精通sql结构化查询语句

    12.5.1 创建默认值 12.5.2 默认值的绑定与松绑 12.6 小结第5篇 T-SQL高级编程篇第13章 存储过程 13.1 存储过程概述 13.1.1 存储过程的基本概念 13.1.2 存储过程的优缺点 13.2 存储过程中常用的流控制语句 13.2.1 IF....

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    3-14.cs if语句的使用。 3-15.cs switch语句的使用。 3-16.cs while语句的使用。 3-17.cs do-while语句的使用。 3-18.cs for语句的使用。 3-19.cs 异常捕获:try-catch语句的使用。 3-20.cs ...

    ASPNET35开发大全第一章

    2.5.1 if语句的使用方法 2.5.2 switch选择语句的使用 2.6 使用循环语句 2.6.1 for循环语句 2.6.2 while循环语句 2.6.3 do while循环语句 2.6.4 foreach循环语句 2.7 异常处理语句 2.7.1 throw异常语句 2.7.2 try-...

    Asp.Net分页控件【AspNetPager】拖入即用!

    这个分页控件名为AspNetPager控件,是Asp.net上使用率最高的分页控件,想怎么分就怎么分.附带'超详细代码注释",好用请给评论. 基本步骤: 1.拖拽控件(存放到到Bin目录下,再拖入工具箱) 2.粘贴复制(已放出实例源码) 3....

    net学习笔记及其他代码应用

    28.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号 答:Select ID FROM table1 Where ...

Global site tag (gtag.js) - Google Analytics