All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
c#数据结构中对数的概念以及使用
SQL,Server,2000企业版安装教程_mssql学习_编程技术
总结:asp.net页面间数据传递_[Asp.Net教程]
XMLHTTP获取web访问头信息和网页代码_[XML教程]
同步两个Sql,server(1)_[SQL,Server教程]
Sql,server一些常见性能问题的总结_[SQL,Server教程]
关于ASP.NET,2.0的目录结构变化_[Asp.Net教程]
PHP实例:PHP的拼写检查函数库_[PHP教程]
用GridView编辑更新独立的单元格_[Asp.Net教程]
C#教程:C#中的常量
Reading number is top 10 pictures
The money of more than 100 countries and regions22
王艳写真温柔如水2
采访美女孙菲菲
避免防盗门的猫眼变成钥匙眼
29 the belle stars after bath figure3
徐若瑄展示美丽胸围3
Take you to walk into the most true north Korea rural1
传奇套装
这才叫绝色美女2
Go to the national museum3
Download software ranking
Unix video tutorial20
尖东毒玫瑰A
C#COM编程指南
jBuilder2006
WebService在.NET中的实战应用教学视频 → 第1集
美女写真1
传奇私服架设教程-chm
matrix3
Detective task-the top secret prostitution files
Unix video tutorial17
aaa published in(发表于) 2013/12/17 7:46:43 Edit(编辑)
使用Control,Adapters优化Asp.net控件_.net资料_编程技术

使用Control,Adapters优化Asp.net控件_.net资料_编程技术

使用Control Adapters优化Asp.net控件_.net资料_编程技术-你的首页-uuhomepage.com

有些时候Asp.net 控件默认状态下生成的html代码,不能满足一些特定的需要。比如


我们想让用户做一些选择,可以很容易的用如下代码实现







默认状态下CheckBoxList会将这些选项放在一个table标签里,但是也许有个别情况不适合使用table,而需要一个un-ordered list(ul)。当然我们可以重新写一个继承于CheckBoxList的控件,但是使用Control Adpater会更容易,并且还有一些额外的好处。


首先看一下实现:


1, 写一个继承自WebControlAdapter的类,如下


using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.Adapters;
public class RadioButtonListAdapter : WebControlAdapter
{
protected override void Render(HtmlTextWriter writer)
{
ListControl targetControl = this.Control as ListControl;
// If the control that this adapter is pointing to is not
// a ListControl (RadioButtonList or CheckBoxList) then
// we don't want to change the rendering.
if (targetControl == null || targetControl is IRepeatInfoUser == false)
{
base.Render(writer);
return;
}
writer.WriteBeginTag("ul");
if (targetControl.CssClass.Length > 0)
{
writer.WriteAttribute("class", targetControl.CssClass);
}
writer.Write(">");
IRepeatInfoUser repeaterInfo = (IRepeatInfoUser)this.Control;
for (int i = 0; i < targetControl.Items.Count; i++)
{
writer.WriteFullBeginTag("li");
repeaterInfo.RenderItem(ListItemType.Item, i, new RepeatInfo(), writer);
writer.WriteEndTag("li");
}
writer.WriteEndTag("ul");
}
}


2,新建一个asp.net 文件夹 App_Browsers,在其中添加一个.browser文件,添加如下内容





adapterType="RadioButtonListAdapter" />
adapterType="RadioButtonListAdapter" />



好了,一切ok。注意到了没有?我们并没有改变先前的asp.net代码.这就是个非常重要的好处啊。





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.