关于HTML控件和Web控件的问题

SCYBFQ1982 2007-01-10 03:59:02
小弟刚学ASP.NET,请问HTML控件和Web控件有啥本质的区别,HTML控件加上runat="server"后就完全和Web控件没区别了,要是HTML控件不设runat="server"的话单独使用HTML控件好像没啥用处.不解,请大虾解释一下,谢谢!!
...全文
292 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
daishengs 2007-03-31
  • 打赏
  • 举报
回复
如果能用HTML控件解决问题的,就不要用WEB控件了,这样效率高点
xiaoliangwh 2007-03-30
  • 打赏
  • 举报
回复
路过帮顶
  • 打赏
  • 举报
回复
“在你的设计器上从工具箱的html组拖入下面两个控件”这个做法不对。直接打上去代码就好了。
  • 打赏
  • 举报
回复
这一点在vs设计器上可能确实有一些歧义。

在你的设计器上从工具箱的html组拖入下面两个“控件”:

<input id="Button1" type="button" value="button" />
<select id="Select1">
<option selected="selected"></option>
</select>
然后在页面page_load设置一个调试断点,在命令行察看一下:
?this.Form.Controls.Count
?this.Form.Controls[0]
?((LiteralControl)this.Form.Controls[0]).Text
你会发现只有一控件,而且内含普通的字符串!

vs设计器是以html控件的形象支持你使用鼠标设计的,但是只要你不设置runat=server,它在编译时根本不是html控件,你即使把“button" value="button" />”故意手动改成“button" value="button"”也不会出现编译错误。

liangzhengs 2007-01-10
  • 打赏
  • 举报
回复
还有一样东西告诉你,任何一个html标记都可以声明为服务器控件的!
  • 打赏
  • 举报
回复
注意,不加runat=server根本不是html控件,那些字符串跟html控件长得几乎一模一样,但是根本不是一类东西。
  • 打赏
  • 举报
回复
有些只是希望作为html代码使用,服务器端不做任何处理,告诉服务器端把它作为一个普通的字符串输出给可以端浏览器就足够了,这时候就不加runat=server。
SCYBFQ1982 2007-01-10
  • 打赏
  • 举报
回复
谢谢,这我明白,但如果不把它设为 run at server 的话,感觉HTML控件就没啥用处了,比如Button,总不能在客户端显示一个Button给用户看吧?
ysm1502 2007-01-10
  • 打赏
  • 举报
回复
这个比较好解释

run at server 意思是你可以在服务器端调用它
例如 你拖一个label进来 可以在后台编写操作它的代码
而html控件 那就只能用来显示于客户端(浏览器)中,不能作为服务器控件操作它.

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧