Repeater控件的ItemDataBound事件

Repeater控件的ItemDataBound事件Repeater控件的ItemDataBound事件:在项被绑定数据后触发。下面的例子来自msdn,不过我把前台和后台分开了。前台是:ViewCode<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="WebForm1.aspx.cs"Inherits="WebApplication2.WebForm1…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Repeater控件的ItemDataBound事件:在项被绑定数据后触发。

下面的例子来自msdn,不过我把前台和后台分开了。

前台是:

Repeater控件的ItemDataBound事件
Repeater控件的ItemDataBound事件
View Code

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <h1>Repeater控件的ItemDataBound事件</h1>
    <form id="form1" runat="server">
    <div>

    <asp:Repeater ID="repeater1" runat="server" OnItemDataBound="Repeater1_OnItemDataBound">
      
            <HeaderTemplate>  
              <table border="1">         
                <tr>
                    <td><b>Product</b></td>
                    <td><b>Consumer Rating</b></td>
                </tr>           
            </HeaderTemplate>

            <ItemTemplate>    
                <tr>
                    <td><asp:Label Text='<%#Eval("ProductID") %>' runat="server"></asp:Label></td>
                    <td><asp:Label Text='<%#Eval("Rating") %>' ID=RatingLabel runat="server"></asp:Label></td>
                </tr>            
            </ItemTemplate>

            <FooterTemplate>
             </table>             
            </FooterTemplate>
         
        
    
    </asp:Repeater>
   
     
    </div>
    </form>
</body>
</html>

注意:table开始标签在<HeaderTemplate>中,结束标签在 <FooterTemplate>中。

绑定数据Text='<%#Eval(“ProductID”) %>’需要加单引号,里面加双引号。

后台是:

Repeater控件的ItemDataBound事件
Repeater控件的ItemDataBound事件
View Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;

namespace WebApplication2
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ArrayList values = new ArrayList();

            values.Add(new Evaluation("Razor Wiper Blades", "Good"));
            values.Add(new Evaluation("Shoe-So-Soft Softening Polish", "Poor"));
            values.Add(new Evaluation("DynaSmile Dental Fixative", "Fair"));

            this.repeater1.DataSource = values;//指定数据源
            this.repeater1.DataBind(); //绑定数据            
        }

        protected void Repeater1_OnItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            // This event is raised for the header, the footer, separators, and items.
            // Execute the following logic for Items and Alternating Items.

            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                if (((Evaluation)e.Item.DataItem).Rating == "Good")
                {
                    ((Label)e.Item.FindControl("RatingLabel")).Text = "<b>***Good***</b>";
                }
            }
        }

        
    }

    public class Evaluation
    {

        private string productid;
        private string rating;

        public Evaluation(string productid, string rating)
        {
            this.productid = productid;
            this.rating = rating;
        }

        public string ProductID
        {
            get
            {
                return productid;
            }
        }

        public string Rating
        {
            get
            {
                return rating;
            }
        }
    }
}

该事件在 Repeater 控件中的某一项被数据绑定后但尚未呈现在页面上之前发生。

运行结果:

 

Repeater控件的ItemDataBound事件

  

参见:http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.repeater.itemdatabound(v=vs.80).aspx

 

下面说一下RepeaterItemEventArgs,它为 Repeater 的 ItemCreated 和 ItemDataBound 事件提供数据。

如果在 Repeter中有一个DropDownlist and Datalist ,然后你想根据DropDownlist的值设置Datalist的值,可以使用下面的方法来传值:

 

protected void DDLSort2_OnSelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList dl = new DropDownList();
        dl = (DropDownList)sender;
        string sortdir = dl.SelectedValue.ToString();
        Control parent = dl.Parent;
        RepeaterItem rep = new RepeaterItem(0,ListItemType.Item);
        rep = (RepeaterItem)parent;
        RepeaterItemEventArgs e1=new RepeaterItemEventArgs(rep);
        BindInnerDatalist(sender,e1, sortdir);//另外写的方法。
    }

 

参见:http://forums.asp.net/t/1707348.aspx/1

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182471.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA基于dom4j实现对XML操作「建议收藏」

    JAVA基于dom4j实现对XML操作「建议收藏」该篇博客写java基于dom4j来操作xml的一些基本实现,需要用到以下jar包该篇博客目录1、XML特点、语法规则2、XML与HTML区别3、基于dom4j下java实现对XML基本操作一、XML特点、语法规则1、XML特点XML是一种标记语言,很类似HTMLXML的设计宗旨是传输数据,而非显示数据(HTML)XML标签没…

    2022年7月14日
    22
  • raft算法详解_python raft

    raft算法详解_python raft  raft是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。在这里强调了是在工程上,因为在学术理论界,最耀眼的还是大名鼎鼎的Paxos。但Paxos是:少数真正理解的

    2022年8月4日
    11
  • Linux rename命令

    Linux rename命令

    2020年11月19日
    210
  • [数学建模] 大数据建模五步法「建议收藏」

    [数学建模] 大数据建模五步法「建议收藏」目录传送门概要第一步:选择模型或自定义模式第二步:训练模型第三步:评估模型第四步:应用模型第五步:优化模型最后语概要PS:本文转载自https://www.sohu.com/a/198093510_783844本文将尝试来梳理一下数据建模的步骤,以及每一步需要做的工作。第一步:选择模型或自定义模式这是建模的第一步,我们需要基于业务问题,来决定可以选择哪些可用的模型。比如,如果要预测产品销量,则可以选择数值预测模型(比如回归模型,时序预测……);如果要预测员工是否离职,则可以选择分类模型(比

    2022年6月9日
    78
  • Maven 生成打包可执行jar包

    Maven 生成打包可执行jar包文章目录1.需求2.开发环境3.Maven打包插件介绍4.Maven使用maven-jar-plugin打可执行jar包5.Maven使用maven-assembly-plugin装需要打包的文件打进zip包6.Maven生成可执行jar包及zip项目压缩包7.执行jar包8.pom.xml配置9.package.xml文件最近IDEA打可执行Jar包搞了三天,一直失败,好好学…

    2022年5月30日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号