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

在.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.net 数据源

    在本篇文章中,我们将探讨如何将Windows Presentation Foundation (WPF) ListBox与ADO.NET数据源进行绑定的过程。ADO.NET是Microsoft开发的一个用于访问数据库的技术,它允许应用程序通过多种数据库连接方式来访问...

    Visual Basic.NET语句与函数大全

    - 控件与事件处理:了解如何在ASP.NET页面上使用VB.NET编写控件事件处理程序,如Button的Click事件。 - 数据绑定:利用VB.NET与数据库交互,实现GridView、ListView等控件的数据绑定。 5. **实例解析**: - 通过...

    asp.net Repeater中使用if的代码

    在这个场景中,我们主要探讨如何在Repeater中使用`if`语句以及如何进行日期绑定的转换。 首先,让我们看看如何在Repeater的ItemTemplate中使用`if`语句。在ASP.NET中,我们可以使用`&lt;%# %&gt;`数据绑定表达式来与数据...

    vb.net及asp.net代码手册

    1. **基础语法**:VB.NET和ASP.NET的基础语法,包括变量声明、数据类型、流程控制语句(如If-Then-Else、For-Next、While-Wend等)、函数和过程的使用。 2. **面向对象编程**:类、对象、属性、方法、继承、多态和...

    vb.net网页教程

    在VB.NET中,学习者首先需要理解基本的语法结构,包括变量声明、数据类型、运算符、流程控制语句(如If...Then、For...Next、While...End While等)。VB.NET支持事件驱动编程,这在网页开发中尤为重要,因为用户交互...

    Visual C#.NET与Visual Basic.NET的差异

    在Visual C#.NET中,语句块(如if、while、for语句)使用花括号(`{}`)包围。而在Visual Basic.NET中,使用End If、End While、End For等关键字来标记语句块的结束。 ### 6. **圆括号与方括号的使用** Visual C#...

    VB.NET 中使用 SQLite3 的演示代码

    通过使用ADO.NET组件,你可以轻松地执行各种数据库操作,如创建表、插入数据、查询以及将结果展示在数据网格中。以上代码展示了如何开始使用SQLite3,但实际应用可能需要根据具体需求进行更复杂的操作,如事务处理、...

    VB.net光盘Codes

    代码中可能包含if-else语句、switch-case结构、for循环、while循环等,这些都是程序控制流程的关键元素。VB.NET的Do...Loop、For Each...Next等循环结构使得遍历数据和执行重复任务变得简单。 3. **函数与过程** ...

    初学VB.NET使用心得随记

    在提供的代码示例中,我们看到了一个简单的VB.NET应用程序,它使用`OleDbDataAdapter`从Access数据库(`.mdb`)中填充`DataSet`,并将数据绑定到`DataGrid`控件,同时还有绑定文本框以便用户编辑数据。 首先,`...

    vb.net 使用Access数据库保存和读取图片文件

    使用SQL语句在数据库中创建表: ```sql CREATE TABLE Images ( ImageID AUTOINCREMENT PRIMARY KEY, ImageName TEXT(50), ImageDescription TEXT(255), ImageData LONGBINARY ) ``` 在VB.NET中,可以使用`...

    vb.net学习资料

    在 VB.NET 中,动态构建 SQL 查询语句是一项非常重要的技能。示例代码展示了如何根据用户输入构建动态查询: #### 1. 初始化查询语句 ```vb str = "select * from telecode where 1=1" ``` 初始化一个基本的 ...

    .net分页 用户状态保持

    本篇将详细介绍如何在.NET中实现分页功能,并讨论用户状态保持的策略,以及涉及到SQL修改字段语句的应用。 首先,我们来看.NET中的分页实现。在给定的代码片段中,使用了ASP.NET的`DataList`控件来展示数据,并通过...

    在VB.NET平台的商品销售

    学习VB.NET的基础语法,包括变量、数据类型、控制结构(如if语句、for循环)、函数和类,是理解和编写此商品销售系统的关键。 2. **Windows Forms**:VB.NET中的Windows Forms用于创建桌面用户界面,这是商品销售...

    用vb.net实现datagridview控件的使用

    在这个主题中,我们将深入探讨如何使用VB.NET实现DataGridView控件的使用,包括数据的读入和读出。 首先,让我们了解DataGridView控件的基本功能。此控件可以显示二维表格数据,支持行、列的添加、删除和编辑,以及...

    vb.net与c#.net的不同点对照

    4. **语句终止**:VB.NET使用"End If"、"Next"等语句来结束块,而C#通常依赖大括号{}来定义代码块。 5. **括号与花括号**:VB.NET使用圆括号()来分组操作数,而C#则使用圆括号和花括号。例如,函数调用和数组初始化...

    vb.net2008源代码

    源代码中可能展示了如何声明变量、常量,使用控制流语句(如If...Then...Else、For...Next、While...End While)以及函数和过程的定义。 2. **数据库连接与操作**:VB.NET 提供了ADO.NET(ADO.NET Entity Framework...

    (ASP.NET)Gridview使用EF绑定数据库支持多个网页的增查删改实例

    在ASP.NET中,我们可以通过绑定DataSourceID属性来实现,但由于我们使用的是EF,所以我们需要在代码后面动态绑定数据。在Page_Load事件中,我们可以使用EF的DbContext实例查询数据库,然后将结果集绑定到Gridview。...

    .net面试题附答案

    1. **C#语言基础**:C#是.NET的主要编程语言,面试中可能会询问C#的基本语法,如变量、数据类型、控制流(if-else,switch,for,while)、类和对象、继承、多态、接口、委托和事件等。 2. **面向对象编程**:理解...

    .net笔试题库

    8. **异常处理**:理解如何在.NET中使用try-catch-finally语句处理异常,以及如何自定义异常。 9. **多线程**:了解线程的基本概念、线程同步机制(Mutex、Semaphore、Monitor等)以及异步编程模型(Task、async/...

    Visual Basic.NET应用编程150例

    这本书的第一个关键知识点是VB.NET的基础语法,包括变量声明、数据类型、控制结构(如if-else、for、while循环)以及函数和过程的使用。 第二个知识点是面向对象编程(OOP)在VB.NET中的实现。这包括类的定义、对象...

Global site tag (gtag.js) - Google Analytics