动态加载用户控件的组件!

作者:袖梨 2022-07-02
我们写用户控件的目的就是放到页面中去。根据不同的条件,我们可以改变加载的用户控件!
其实原理就是MasterPage的原理。这个MasterPage会在vs2005中提供,但是现在也可以实现。
在我的项目中就用到:
MasterPage就四个类,其中容器就动态加载用户控件。这种功能在vs2005中将无处不在。
下面简单介绍一下动态加载叶面组件:
我们只需要改变用户组件的地址就可以动态改变加载的用户组件了。
在程序中动态改变SkinPath就可以了。
组件源码如下:
using System;
//using System.Drawing;
using System.Collections;
using System.Collections.Specialized;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.IO;
using System.Web.Security;
using Region.Components;
namespace Region.Controls {
[ParseChildren(true)]
///
/// 页面组件,从用户组件获取
///

public abstract class SkinnedControl : WebControl, INamingContainer {
string skinFilename = null;
string skinName = null;
string skinPath;
// string returnURL = null;
///
/// 添加子组件
///

protected override void CreateChildControls() {
if(SkinPath == null || SkinPath == "" || SkinPath.Trim() == "")
return ;
Control skin; skin = LoadSkin(); InitializeSkin(skin);
Controls.Add(skin);
}
///

相关文章

精彩推荐