当前位置: 首页 > 图文教程 > 网络编程 > ASP > DataList里套DataGrid,DataBind

ASP
用ASP做一个分页程序
用ASP实现网站的“目录树”管理
网页在线人数统计的做法
用ASP生成Chart
用ASP构建你的网站新闻发布(一)
用ASP构建你的网站新闻发布(三)
如何处理ASP中的图象
用ASP编写计数器
ASP防盗链及防下载的方法
ASP数据类型
ASP组件中的安全问题
ASP漏洞集-ASP漏洞分析和解决方法
ASP漏洞集-Carello Web 使 ASP 源码暴露(APP,缺陷)
ASP漏洞集-MS IIS server的ASP安全缺陷(MS,缺陷)
ASP漏洞集-MS IIS虚拟主机ASP源码泄露(MS,缺陷)
ASP漏洞集-给你的FileSystemObject对象加把锁
ASP漏洞集-通过asp入侵web server,窃取文件毁坏系统
ASP漏洞集-MS IIS server/Frontpage Ext Server
ASP漏洞集-虚拟web目录容易泄露ASP源代码 (MS,缺陷)
ASP漏洞集-用ASP实现网页保密的两种方法

ASP 中的 DataList里套DataGrid,DataBind


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 31 ::
收藏到网摘: n/a

完整的例子:
◆MyGrid.ascx:
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="MyGrid.ascx.cs" Inherits="XsStudio.test.MyGrid" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
<asp:DataGrid id="DataGrid1" runat="server" ShowHeader="False" AllowPaging="True" PageSize="3"></asp:DataGrid>

◆MyGrid.ascx.cs
namespace test
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

/// <summary>
///  MyGrid 的摘要说明。
/// </summary>
public class MyGrid : System.Web.UI.UserControl
{
  protected System.Web.UI.WebControls.DataGrid DataGrid1;

  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
  }

  public void loaddata(string id)
  {
   DataTable dt = new DataTable();
   dt.Columns.Add("SN");
   dt.Columns[0].AutoIncrementSeed=1;
   dt.Columns[0].AutoIncrement = true;
   dt.Columns.Add("AAA");
   dt.Columns.Add("BBB");
   dt.Columns.Add("CCC");
   dt.Rows.Add(new string[]{"1",id,"435689",System.DateTime.Now.ToString()});
   dt.Rows.Add(new string[]{"2",id,"34535",System.DateTime.Now.ToString()});
   dt.Rows.Add(new string[]{"3",id,"4456",System.DateTime.Now.ToString()});
   dt.Rows.Add(new string[]{"4",id,"64563",System.DateTime.Now.ToString()});
   dt.Rows.Add(new string[]{"5",id,"84535",System.DateTime.Now.ToString()});
   this.DataGrid1.DataSource = dt;
   this.DataGrid1.DataBind();
   ViewState[this.ClientID+"_id"] = id;
  }

  private void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
  {
   this.DataGrid1.CurrentPageIndex = e.NewPageIndex;
   loaddata(ViewState[this.ClientID+"_id"].ToString());
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
 
  /// <summary>
  ///  设计器支持所需的方法 - 不要使用代码编辑器
  ///  修改此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
   this.Load += new System.EventHandler(this.Page_Load);
   this.DataGrid1.PageIndexChanged+=new DataGridPageChangedEventHandler(DataGrid1_PageIndexChanged);
  }
  #endregion


}
}

◆webform1.aspx:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="XsStudio.test.WebForm1" validateRequest=false%>
<%@ Register TagPrefix="uc1" TagName="MyGrid" Src="MyGrid.ascx" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
  <title>WebForm1</title>
  <META http-equiv="Content-Type" content="text/html; charset=gb2312">
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body bgColor="#cccccc" MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <asp:DataList id="DataList1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server">
    <ItemTemplate>
     <asp:TextBox id="TextBox1" runat="server" Text='<%# DataBinder.Eval('