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); 
方法三: 利用Page.Pase方法动态加载控件

对于通过Page.ParseControl()方法来动态加载的用户控件我们可以这样做:

 Control control = this.Page.ParseControl(@"<%@ Register Src=""TestControl .ascx"" TagName=""TestControl"" TagPrefix=""MyControl"" %>    <MyControl:TestControl ID=""TestControl1 runat=""server"" />");
 this.Page.Controls.Add(control);



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值