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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux如何查看所有的用户和组信息

    linux如何查看所有的用户和组信息

    2021年10月19日
    60
  • pycharm激活码2022(JetBrains全家桶)「建议收藏」

    (pycharm激活码2022)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlBI7JCUH1TG-eyJsa…

    2022年3月22日
    248
  • spdlog用法

    spdlog用法转自:https://blog.csdn.net/haojie_superstar/article/details/89383433?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-19.control&dist_request_id=1328730.643.16167433128441371&depth_1-utm_source=distribute.pc_relevant.none-task-bl

    2022年6月23日
    26
  • linux修改文件名字_linux搜索文件名命令

    linux修改文件名字_linux搜索文件名命令在Linux环境下修改文件名可以有不同的命令方式,比如rename、mv都可以进行修改,如果用户正在了解这方面的知识,可以阅读下文了解Linux修改文件名以及批量修改文件名的方法。对于单个的文件,可以直接使用命令,那如果有大量的类似格式的文件名需要修改成其他格式的,该如何呢?比如某次测试后,保存的文件为Lan1.txt,Lan2.txt,……Lan100.txt这一百个文件需要在前面添加前缀变成…

    2025年8月7日
    3
  • Idea激活码最新教程2021.3.2版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2021.3.2版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2021 3 2 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2021 3 2 成功激活

    2025年5月21日
    5
  • ActiveMQ面试题

    ActiveMQ宕机了怎么办官方的解决方案是主从集群(备份)方案zookeeper集群Replicated(瑞pk得)levelDB就是之前在讲消息持久化kahaDB的另一种消息持久化方案,这种方案的性能会比较好activemq集群activemq最起码有三个,因为一个activemq挂了之后可以在另外两个中选取,如果只有两个的话挂了一个就只剩下一个没法选取了,三台activemq只…

    2022年4月5日
    61

发表回复

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

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