后台邦定模板列 使用 ITemplate 接口邦定 ItemTemplate

本文介绍了一个ASP.NET页面中如何使用Repeater控件结合自定义模板展示动态数据,包括数据绑定过程及HTML输出的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好了不费话了

建一个 Aspx文件删除所有的东东只保留

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SearchQuestion.aspx.cs" Inherits="IAsk_User_ability_SearchQuestion" %>

 

 

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class IAsk_User_ability_SearchQuestion : System.Web.UI.Page
{    

    
/// <summary>
    
/// 用户存放数据的临时表
    
/// </summary>
    DataTable MyDt = new DataTable();

    
protected override void CreateChildControls()
    {

        MyDt 
= DataSet.Tables[0];
        MyRe.DataSource 
= MyDt;
        MyRe.ItemTemplate 
= new tempX();// 这里是重点
        MyRe.DataBind();
        
        Controls.Add(MyRe);
      
    }


    
public  override void RenderControl(HtmlTextWriter outhtml)
    {
        

        MyRe.RenderControl(outhtml);
    }
}


public class tempX : ITemplate
{

    
/// <summary>
    
/// 实现接口
    
/// </summary>
    
/// <param name="container"></param>
    public void InstantiateIn(Control container)
    {
        
//Literal 用来保存HTML代码的
        Literal Lbl = new Literal();
        Lbl.DataBinding 
+= new EventHandler(outHtml);//关键在这里
        container.Controls.Add(Lbl);//加入控件
    }


    
/// <summary>
    
/// 帮定数据的事件
    
/// </summary>
    
/// <param name="sender"></param>
    
/// <param name="e"></param>
    protected void outHtml(object sender, EventArgs e)
    {
        Literal lbl 
= (Literal)sender;//建一个新对象
        string cont = DataBinder.Eval(((RepeaterItem)lbl.NamingContainer).DataItem, "ask_query_cont").ToString().Replace("&nbsp;""").Replace("'""").Replace(""""");
        
if (cont.Trim() != "")
        {
            lbl.Text 
= "<h4><a href='" + DataBinder.Eval(((RepeaterItem)lbl.NamingContainer).DataItem, "ask_query_id").ToString() + "'>" +DataBinder.Eval(((RepeaterItem)lbl.NamingContainer).DataItem, "ask_query_name").ToString() + "</a></h4>" +
                
" ";//标题

            lbl.Text 
+= "<h5>" + cont + "</h5>";
        }
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值