如何让Visual Studio和web标准联姻
http://tech.ddvip.com 2007年08月27日 社区交流
内容摘要:现在做大型B/S模式的商业项目开发似乎很难不考虑使用Microsoft Visual Studio .NET 2005(或以上版本),比较有深远考虑的B/S模式的项目又似乎很难不考虑用Web标准进行设计。而当一个B/S模式的商业项目既很大型,又需要有深远考虑的时候,Microsoft Visual Studio .NET 2005 和 “Web标准设计”相交了。
Setp1:vs2005中建一个web工程。在一个新的页面上拖个Label服务器控件。在工程中新添加一个browsers文件取名为test.browser,参看下图(十分抱歉,是日文的VS2005,虽然已经跳槽,但是现在仍然在原公司做交接工作):

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
EndClassStep3:编译、运行。
责编:豆豆技术应用
正在加载评论...
- VC/VC++按钮设计专题
- VC/VC++ 菜单专题
- VC/VC++ 工具条专题
- VC/VC++ 对话框教程
- VC/VC++ 报表教程
- VC/VC++ 控件
- VC/VC++ GDI
- Visual Studio 2008
- VC/VC++ MFC教程
- VC/VC++ QQ
- VC/VC++ Socket编程
- VC/VC++ 钩子编程
- TangramMini组件应用教程
- VC/VC++ 窗体
- VC/VC++ ADO 教程
- Windows CE 教程
- VC/VC++ DLL(动态链接库)编程
- VC/VC++ PDFlib
- VC与MATLAB编程
- VC/VC++ DirectShow 教程
- VC++入门视频教程
- VC/VC++ COM组件设计与应用
- VC/VC++ ATL
- VC/VC++ WTL
- VC/VC++ 定制调试诊断工具和程序
- VC/VC++ 进程
- VC/VC++ Win32
- VC/VC++ WMI
- VC/VC++ 消息
- 更多VC/VC++专题……