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" %>

完成。第一步:例如用户控件放在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" %>

完成。
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3