ascx是一个整体,你要是想使用它的东西,只有三种办法:属性、方法和事件
像如要使用它里面的dg,可以用属性把dg的应用调出来,下面是我写个一个例子,你可以看看
用户控件
usc/dg.ascx
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="dg.ascx.cs" Inherits="startmssql.ucs.dg" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%> <asp:DataGrid id="dgsy" runat="server"></asp:DataGrid>
usc/dg.ascx.cs
namespace startmssql.ucs
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
public class dg : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.DataGrid dgsy;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
# Web 窗体设计器生成的代码
public DataGrid DGrid
{
get
{
return this.dgsy;
}
set
{
this.dgsy=value;
}
}
}
}
具体应用
dgridsy.aspx
<%@ Register TagPrefix="uc1" TagName="dg" Src="ucs/dg.ascx" %> <%@ Page language="c#" Codebehind="dgridsy.aspx.cs" AutoEventWireup="false" Inherits="startmssql.dgridsy" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>dgridsy</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <FONT face="宋体"> <uc1:dg id="dguc" runat="server"></uc1:dg></FONT> </form> </body> </HTML>
dgridsy.aspx.cs
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;
namespace startmssql
{
public class dgridsy : System.Web.UI.Page
{
SqlConnection conn=null;
SqlCommand cmd=null;
protected startmssql.ucs.dg dguc;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
setup();
}
#窗体设计器生成的代码
private void setup()
{
string strconn=ConfigurationSettings.AppSettings["wei"];
conn=new SqlConnection(strconn);
string sql="select top 8 * from [authors] order by au_id desc";
cmd=new SqlCommand(sql,conn);
try
{
conn.Open();
dguc.DGrid.DataSource=cmd.ExecuteReader();
dguc.DGrid.DataBind();
}
catch(SqlException ex)
{
Response.Write(ex.Message);
}
finally
{
conn.Close();
}
}
}
}
本文介绍如何在ASP.NET中创建并使用ASCX用户控件,通过实例演示了如何定义包含DataGrid的用户控件,并在主页面中调用该控件以显示数据库中的数据。
3260

被折叠的 条评论
为什么被折叠?



