你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
如何让Visual Studio和web标准联姻(4)
 
Setp1:vs2005中建一个web工程。在一个新的页面上拖个Label服务器控件。在工程中新添加一个browsers文件取名为test.browser,参看下图(十分抱歉,是日文的VS2005,虽然已经跳槽,但是现在仍然在原公司做交接工作):

  如何让Visual Studio和web标准联姻

  Setp2:删除test.browser自动生产的代码,添加我们的代码如下:

<browsers>
  <browserrefID="default">
   <controlAdapters>
    <adaptercontrolType="System.Web.UI.WebControls.Label"adapterType="LabelAdapter"/>
   </controlAdapters>
  </browser>
</browsers>

  这段代码的意思是为所有的Label服务器端控件指定名为“LabelAdapter”的适配器类型。

  Setp3:创建一个名为“LabelAdapter”的类。类代码如下(解释见注释):

ImportsSystem
ImportsSystem.Web.UI
ImportsSystem.Web.UI.WebControls
PublicClassLabelAdapter
   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属性内容
   EndSub
EndClass

  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月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089