Setp2:删除test.browser自动生产的代码,添加我们的代码如下:
<browsers> <browserrefID="default"> <controlAdapters> <adaptercontrolType="System.Web.UI.WebControls.Label"adapterType="LabelAdapter"/> </controlAdapters> </browser></browsers>
这段代码的意思是为所有的Label服务器端控件指定名为“LabelAdapter”的适配器类型。
Setp3:创建一个名为“LabelAdapter”的类。类代码如下(解释见注释):
ImportsSystemImportsSystem.Web.UIImportsSystem.Web.UI.WebControlsPublicClassLabelAdapter InheritsSystem.Web.UI.WebControls.Adapters.WebControlAdapter ProtectedOverloadsReadOnlyPropertyControl()AsLabel Get ReturnDirectCast(MyBase.Control,Label) EndGet EndProperty ProtectedOverridesSubRenderBeginTag(ByValwriterAsHtmlTextWriter) writer.WriteLine()'换行 writer.AddAttribute(HtmlTextWriterAttribute.Id,Control.ClientID)'添加一个id属性 IfNotString.IsNullOrEmpty(Control.ControlStyle.CssClass)Then'如果设置了cssClass就添加一个Class属性 writer.AddAttribute(HtmlTextWriterAttribute.Class,Control.ControlStyle.CssClass) EndIf writer.RenderBeginTag(HtmlTextWriterTag.Label)'标签头是label writer.Indent=writer.Indent+1'增加缩进 EndSub ProtectedOverridesSubRenderEndTag(ByValwriterAsHtmlTextWriter) writer.Indent=writer.Indent-1'减少缩进 writer.RenderEndTag()'闭合标签 writer.WriteLine() EndSub ProtectedOverridesSubRenderContents(ByValwriterAsHtmlTextWriter) RenderContent(writer) EndSub PrivateSubRenderContent(ByValwriterAsHtmlTextWriter) writer.Write(Control.Text)'打出控件的text属性内容 EndSubEndClass
Step3:编译、运行。
(编辑:aniston)
·2024年12月目录 ·2024年11月目录 ·2024年10月目录 ·2024年9月目录 ·2024年8月目录 ·2024年7月目录 ·2024年6月目录 ·2024年5月目录 ·2024年4月目录 ·2024年3月目录 ·2024年2月目录 ·2024年1月目录 ·2023年12月目录 ·2023年11月目录