微软示例:
就像您可以通过编程方式在 Web 窗体页上创建任意 ASP.NET 服务器控件的实例,您也可以通过使用包含页的 LoadControl 方法来做到这一点。但您首先必须使用@ Control 指令的 className 属性将强类型与用户控件相关联。之所以需要这样是因为 LoadControl 方法返回 Control 类的类型,并且您需要将该用户控件转换为合适的强类型,以便设置该控件的各个属性。
以下代码使用 className 属性将 MyUserControl.ascx 文件中保存的用户控件转换为强类型。<%@ Control className="MyUserControl" %>
以编程方式创建用户控件的实例 使用@ Reference 指令在要包含用户控件的 Web 窗体页的顶部注册该用户控件。当以编程方式创建用户控件时,只有您创建了对该控件的引用后,用户控件的强类型才可用于该 Web 窗体页。例如,以下代码创建对 MyUserControl.ascx 文件中所创建用户控件的引用。
<%@ Reference Control="MyUserControl.ascx" %>注意 当以声明方式在 Web 窗体页中创建用户控件的实例时,请使用@ Register 指令。在代码隐藏类文件中,或是在包含 .aspx 文件的代码声明块中,创建用户控件的实例。根据需要分配属性值,并使用 Add 方法将该控件添加到包含页的 ControlCollection 对象上。这使该控件可用于该页的继承的 Control.Controls 属性。在以下示例中,创建 MyUserControl.ascx 的实例并将其 BackColor 属性设置为 beige。
[C#]
Control c1 = LoadControl("MyUserControl.ascx");
((MyUserControl)c1).BackColor = "beige";
Page.Controls.Add(c1);[Visual Basic]
Dim c1 As UserControl = LoadControl("MyUserControl.ascx")
CType(c1, MyUserControl).BackColor = "beige"
Page.Controls.Add(c1)注意 当您使用 Add 方法将控件添加到 ControlCollection 对象时,这些控件将按处理顺序放置在集合中。如果您希望将控件添加到集合中的特定位置,请使用 AddAt 方法并指定您要存储该控件的索引位置。
动态加载用户控件(整理)
时间: 2024-11-10 00:29:38
动态加载用户控件(整理)的相关文章
动态加载用户控件的组件!
动态|加载|控件 我们写用户控件的目的就是放到页面中去.根据不同的条件,我们可以改变加载的用户控件! 其实原理就是MasterPage的原理.这个MasterPage会在vs2005中提供,但是现在也可以实现. 在我的项目中就用到: MasterPage就四个类,其中容器就动态加载用户控件.这种功能在vs2005中将无处不在. 下面简单介绍一下动态加载叶面组件: 我们只需要改变用户组件的地址就可以动态改变加载的用户组件了. 在程序中动态改变SkinPath就可以了. 组件源码如下: using
动态加载用户控件的组件
动态|加载|控件 动态加载用户控件的组件!(终结MasterPages技术) 让我们来做个页面模版吧!有了模版是不是就可以统一了呢!Sure ! 比如:模版页Template.ascx中我们留出中间一个部分,或者你想要留出的一个空间,让以后放入你想要的内容. 好了!那么在我们的页面index.aspx上我们就可以引用这个Template.ascx,然后在空出的部分放入我们特别的东西,当然最好是在空的地方我们插入另外一个页面如:List.ascx, 当然我们在做个页面MyArchive.aspx.
动态加载用户控件的组件!(三)
动态|加载|控件 上一篇文章写到动态加载用户控件的简单应用 页面是用来浏览信息的!但是更重要的是和用户交互,根据不同的需求提供不同的内容服务,这是一种服务或是一种更贴近用户的人性化.(又在胡言乱语了!^_^) 动态加载叶面,根据不同的用户权限加载不懂的内容服务.根据用户的相应加载相应的内容服务. 还有另外一个应用就是做到页面与代码的分离.在vs2003里,一般ascx或aspx文件,在刚建立的时候都直接跟一个cs文件关联.那么我们在写程序的时候就不能分开来做.作叶面和写后台代码的不能分开.为了能
另类的动态加载用户控件
在BS架构这块,我们平时建一个网站,通常是创建一个WebSite网站,或者是创建一个WebApplication.然后在WEB项目里面建立相应的aspx文件,以及用户控件,自定义控件等等.但是做为一个新加入此项目的你要去修改里面的 某一个功能模板,那么我一般的程序是这样的: 第一:根据新的需求,在项目找到相关页面,例如对应的页面URL为index.aspx.此时可以对原页面做最初的了解. 第二:分析代码. 第三:根据新的需求来修改代码. 我想这也是一般朋友的思维模式吧.可是这样的流程并不是统一不
WPF MVVM模式动态加载用户控件的问题
问题描述 有这样一个场景,主窗体(MainWwindow)上有4个Button,点击每个Button都会加载一个UserControl(关闭正在打开的)每个UserControl绑定了自己的ViewModel那么MainWindow的ViewModel里,用什么方式加载UserControl?最好是不要在MainWwindow.cs里写代码: 解决方案 解决方案二:写一个方法根据点击不同的button返回不同的UserControl.解决方案三:引用楼主qq_25876223的回复: 有这样一个
动态加载用户控件至DataList并为用户控件赋值实例演示_实用技巧
为了实现这个演示,Insus.NET使用通用的新闻例子,它类别(目录)以及文章.在一个页面,显示所有类别,每个目录下显示最新几条新闻. 效果如下: 目录是用DataList控件显示,而文章标题列表是一个用户控件显示,这个用户控件将动态被加入至DataList. 复制代码 代码如下: View Code <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_Item
asp.net动态加载用户控件,关于后台添加、修改的思考_实用技巧
看下下面这个典型的后台(比较粗糙):说实在,我很厌倦全部用.aspx文件去做,比如"友情连接"这个模块,就有"添加友情连接""修改友情连接""友情连接列表",简单的话,可以把"添加""修改"合成一个文件.每次都去建立一个.aspx文件.我现在的想法是用"用户控件+配置文件"去实现,虽然文件数目可能不会少很多.但在编程到一定地步,我想大家会有跟我一样的想法. 首先需要涉
ASP.NET动态加载用户控件的实现方法_实用技巧
第一步:例如用户控件放在MyList.Ascx,然后其Control指令是: 复制代码 代码如下: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="ViewComment.ascx.cs" Inherits="Control_ViewComment"%> 这时候已经有了Inherits,自带了ClassName就是其名称,如果没有,则必须创建Cl
动态加载用户控件的组件!(二)
动态|加载|控件 上一篇文章写到了动态加载用户组件的组件. 但是怎样灵活的在项目中运用呢?怎样做到面向组件的开发呢?就像是积木式开发,我们的叶面可以有不同的组件来完成,而整个叶面就是一个容器,我们只不过是往容器里添加不同的元素而已,因此只要我们的元素能够做到通用,一般化,那么元素积累到了一定的程度,元素足够的丰富就可以经而一举构造出我们想要得叶面. 更多地运用到下一篇文章再详细到来.下面我们先来看看怎么样加载组合我们的用户组件: 1.让我们来先做两个元素,这里我就把用户组件ascx的文件称之为元