首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时使用HtmlControls与WebControls

何时使用HtmlControls与WebControls
EN

Stack Overflow用户
提问于 2008-09-11 23:53:28
回答 4查看 4.7K关注 0票数 5

我喜欢HtmlControls,因为它没有什么神奇之处。asp源代码看起来与客户端看到的内容相似。

我不能反对GridView,Repeater,CheckBoxLists等的实用工具,所以当我需要这些功能时,我就会使用它们。

此外,拥有混合和匹配的代码看起来很奇怪:

代码语言:javascript
复制
<asp:Button id='btnOK' runat='server' Text='OK' />
<input id='btnCancel' runat='server' type='button' value='Cancel' />

(在上面的例子中,您希望将服务器端事件侦听器绑定到OK,但取消只是运行一个隐藏当前div的javascript )

有什么权威的风格指南吗?应该避免使用HtmlControls吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-09-12 00:09:16

当您想要对最终由页面发出的标记进行更多控制时,将HTML控件视为一种选项可能会很有用。更多的控制,在某种意义上,你希望每个浏览器都看到完全相同的标记。

如果您像这样创建System.Web.UI.HtmlControls:

代码语言:javascript
复制
<input id='btnCancel' runat='server' type='button' value='Cancel' />

然后,您就知道将发出什么类型的代码。即使大多数时候:

代码语言:javascript
复制
<asp:Button id='btnCancel' runat='server' Text='Cancel' />

将最终成为相同的标记。并非所有WebControls都会发出相同的标记。许多WebControls都内置了自适应呈现,可以根据浏览器用户代理呈现不同的HTML。例如,DataGrid在移动浏览器中的外观与在桌面浏览器中的外观完全不同。

使用WebControls而不是HtmlControls还可以让你利用ASP.NET v2.0 ControlAdapters,我相信它只适用于WebControls,这将允许你以编程配置驱动的方式控制发出的标记。

当您考虑到某些移动浏览器或WebTV将需要WML或完全不同的标记集时,这似乎更有价值。

票数 5
EN

Stack Overflow用户

发布于 2008-09-12 00:00:16

根据我的经验,两者几乎没有什么不同。正如Darren所说,如果您不需要服务器端功能,那么HTML控件可能影响较小。

别忘了,您只需添加一个runat="server“指令和一个ID,就可以将服务器端功能添加到几乎任何HTML控件上。

票数 3
EN

Stack Overflow用户

发布于 2008-09-11 23:55:03

好吧..。如果你不需要在服务器上做任何事情,我就不会使用html控件。我会这么做的

代码语言:javascript
复制
<input id='btnCancel' type='button' value='Cancel' />

鱼鳍。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档