asp.net控件设计时支持(4)
ackgroundImage;
if (BackgroundImage.Trim().Length > 0)
{
styleAttributes["background-image"] = "url(" + BackgroundImage + ")";
}
}
好了再测试下,效果出来了.以上我认为是理解的重点,其他倒没什么,大家多修改即可理解. 二.多区域编辑 让我们来看下asp.net2.0中的Wizard控件的设计时,当点击 Step1和Step2时,你可以在区域中编辑不同的内容,我称之为多区域编辑 设计时支持什么呢?多区域则比刚才编辑一个区域复杂,刚才的几乎不需要做什么事情,现在要做的多一些 需要注意的地方如下 1.控件区域点击事件 刚才已经试过了当点击 Step1和Step2时,你可以在区域中编辑不同的内容 此部分操作在ControlDesignerd的OnClick事件中完成 2.设置区域 区域包括两种 (1).点击的区域,即step1和step2 (DesignerRegion类) (2).编辑的区域,即那个小边框 (EditableDesignerRegion类) 此部分操作在GetDesignTimeHtml方法中完成 3.模板数据操作 包括两部分操作 (1)选择一个区域后,编辑区域显示要获取的数据 (2)当编辑完区域里数据后,更新数据 4.寻找事件触发对象 万事具备,刚才的第一步中,Step1和Step2也是呈现也页面上的,此做为事件触发者,所以我们还需要对其做一下标记. 好了,重要部门都已经说清楚了.下面来看例子 先看效果吧,方便理解.这里大多的例子直接来自MSDN 当点击View1和View2时,在蓝色区域会呈现不同模板的内容,还记得上篇模板控件的设计时支持吗?这里又有新方法了,而且更加简单. 下面为自定义控件代码,你只需要知道以下两点 1.提供了两个模板属性 2.Table提供了三个区域 public class MyMultiRegionControl : CompositeControl { private ITemplate _view1; private ITemplate _view2; [PersistenceMode(PersistenceMode.InnerProperty), DefaultValue(null)] public virtual ITemplate View1 { get { return _view1; } set { _view1 = value; } } [PersistenceMode(PersistenceMode.InnerProperty), DefaultValue(null)] public virtual ITemplate View2 { get { return _view2; } set { _view2 = value; } } private int _currentView = 0; public int CurrentView { get { return _currentView; } set { _currentView = value; } } protected override void CreateChildControls() { Controls.Clear(); Table t = new Table(); t.CellSpacing = 1; t.BorderStyle = BorderStyle; t.Width = this.Width; t.Height = this.Height; TableRow tr = new TableRow(); tr.HorizontalAlign = HorizontalAlign.Center; tr.BackColor = Color.LightBlue; TableCell tc = new TableCell(); tc.Text = "View1"; tc.Width = new Unit("50%"); tr.Cells.Add(tc); tc = new TableCell(); tc.Text = "View 2"; tc.Width = new Unit("50%"); tr.Cells.Add(tc); t.Rows.Add(tr); tr = new TableRow(); tr.HorizontalAlign = HorizontalAlign.Center; tc = new TableCell(); tc.ColumnSpan = 2; |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |