zoukankan      html  css  js  c++  java
  • 绑定数据源后,Repeater在创建时触发的事件,以及如果在cs文件中调用某个字段的值

    -

    由于我是从asp转来学.net的,很多思路不得不跟着asp走,但在我刚刚入门的条件下发现显示数据一般是将Dataset绑定到某个控件上(如,Repeater),在Repeater中显示数据也很简单只要在ItemTemplate中写入<%#Eval("字段名")%>就可以了
    但有时我们需要在cs文件中动态将字段内容附值到某个容器上(如:Label),但在后台中,输入Label.Text = Eval("字段名")是不行的
    问题出在两个地方:
    1.Repeater中的Labe为在cs文件中所以不能直接给它附值(数据库中取出的值)
    2.Eval("字段名")这个写法也是通不过的

    那怎么办呢?

    其实可以使用以下方法来给Label1附值(下面代码中的e为事件中的传递参数,由系统生成)

            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                ((Label)e.Item.FindControl(
    "Label1")).Text = ((DataRowView)e.Item.DataItem).Row["adate"].ToString();
            }

    ---------------------------------------------

    另一个问题,由于一般在asp中所有记录都是由自己循环HTML显示出来的,我们在循环中可以加入很多代码加以控制。
    而.net中数据库的内容基本是由控件自己显示出,我们是不需要在.net写例如ASP的循环代码:

    <%
    Do while not rs.eof


    rs.movenext
    Loop
    %
    >


    那如果我们需要和ASP一样,在循环的时候加入控件代码怎么办呢?
    我们可以使用ItemCreated事件,在Repeater中这个事件是每显示一条记录就自动会执行一次的。

  • 相关阅读:
    windows cluster 心跳检测阀值优化
    添加普通用户为sudoer
    每日备份脚本目录shell
    linux基础配置
    表变量 临时表 使用场景
    mysql分组排序row_number() over(partition by)
    replication_较少延迟时间
    SQL Server 参数化 PARAMETERIZATION
    thinkPHP RBAC模块
    thinkPHP 微信sdk
  • 原文地址:https://www.cnblogs.com/yeagen/p/1334275.html
Copyright © 2011-2022 走看看