当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET动态加载用户控件的实现方法

ASP.NET
.Net将如何影响我们?(一)
.Net将如何影响我们?(二)
开发者面临的.Net挑战(一)
开发者面临的.Net挑战(三)
.Net的精髓-XML和SOAP(一)
.Net的精髓-XML和SOAP(二)
.Net的精髓-XML和SOAP(三)
.net的reflection (1)
.net的reflection (2)
Asp.net编写的PING工具
.NET语言的选择
且看微软的.Net和Sun公司的J2EE如何对垒
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(1)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(2)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(3)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(4)
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(5)
什么是配件(assembly)?
什么是映射(reflection)?
从一个舆论调查的制作谈面向对象的编程思路(一)

ASP.NET动态加载用户控件的实现方法


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

动态加载用户控件的方法,用asp.net的朋友推荐 第一步:例如用户控件放在MyList.Ascx,然后其Control指令是:
复制代码 代码如下:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ViewComment.ascx.cs" Inherits="Control_ViewComment"%>

这时候已经有了Inherits,自带了ClassName就是其名称,如果没有,则必须创建ClassName属性。
假设其有公共属性ID。
第二步:在某一个ASPX文件需要动态加载的话首先使用
复制代码 代码如下:

<%@ Reference Control="MyList.Ascx" %>
<%@ Page Language="C#" CodeFile="GetAscx.aspx.cs" Inherits="AdEntity_GetAscx" %>
引用,这时候在代码页GetAscx.aspx.cs可以动态加载ASCX控件了:
Control_ViewComment ctrl = (Control_ViewComment)Page.LoadControl("~/Control/ViewComment.ascx");
ctrl.ID = Request["AdentityId"];
base.Controls.Add(ctrl);

另:
复制代码 代码如下:

<%@ Register Assembly="Business" Namespace="Business" TagPrefix="My" %>

完成。