ASP.NET入门教程 3.5.2 HTML控件[2]

ASP.NET入门教程 3.5.2 HTML控件[2],第1张

    将HTML控件用作Server控件

    可以将任何HTML元素转换为服务器控件 只要为该元素添加runat= server 属性即可 如将在第 章看到的那样 当页面提交到服务器的时候 可以使用代码动态地处理任何服务器控件(由HTML元素转换而来的或ASP NET的) 例如 在向页面添加了一个ASP NET TextBox控件之后 可以使用在服务器上运行的代码设置该控件文本区显示的值 然而 一旦为某个元素添加了runat= server 属性(并为其指定一个惟一的ID) 例如一个div元素 接下来就可以使用运行在服务器上的代码动态地指定这个div要显示什么 以及应将它放置在什么位置

    另外 因为可以向任意HTML元素添加runat= server 属性 所以如果喜欢 可以使用Input type= text 控件代替ASP NET的TextBox控件──其他HTML元素只要在ASP NET工具箱中有对应的控件都可以这样使用

    应该使用HTML控件还是ASP NET服务器控件

    这个问题实际上只与页面上简单的元素有关 例如文本框 按钮和表格等 复杂的服务器控件 例如Calendar控件 用户加速站点的开发速度 因此这种情况下不用考虑具体使用哪种控件 在选择向页面添加哪种类型的控件时 绝大多数开发人员的方法是在页面上主要使用ASP NET的Standard Server Control 而在布局时使用静态HTML元素

    虽然在大多数情况下都可以这样做(而且确实在有些情况下需要使用服务器控件才能获得HTML控件无法提供的功能) 但也有例外的情况 例如 向HTML div和table元素添加runat= server 是作者通常使用的一种技术 如果我知道我希望根据用户的输入显示或隐藏页面的某部分 就可以把需要在服务器上处理的元素转换为服务器控件 然后动态地控制它们的可视性 虽然使用标准的服务器控件也很容易创建具有相同功能的站点 但我所在的工作小组只使用简单的HTML元素进行布局 因此有时将某些HTML元素转换为服务器控件比重写代码使用ASP NET内建的服务器控件要容易一些 在这个问题上没有真正的对与错 所以应该根据自己的判断进行选择 但应该注意到 可能会遇到使用其他方法编写的代码 这些方法仍然是有效可行的

ASP NET 入门教程完整版

lishixinzhi/Article/program/net/201311/14697

标准控件

就是

服务器端

控件,功能要强大得多,

html控件就是html页面中那些,功能相对薄弱,

不过在html控件里加上runat="server"

便成了服务器端控件,功能基本和服务器端控件相当,

服务器端控件具有事件性,这是html控件所不具有的,

Asp.net服务器控件,也叫Web服务器控件和Html服务器端控件的区别:

1、 Asp.net服务器控件提供更加统一的编程接口,如每个Asp.net服务器控件都有Text属性。

2、 隐藏客户端的不同,这样程序员可以把更多的精力放在业务上,而不用去考虑客户端的浏览器是ie还是firefox,或者是移动设备。

3、 Asp.net服务器控件可以保存状态到ViewState里,这样页面在从客户端回传到服务器端或者从服务器端下载到客户端的过程中都可以保存。

4、 事件处理模型不同,Html标注和Html控件的事件处理都是在客户端的页面上,而Asp.net服务器控件则是在服务器上,举例来说:

<input id="Button4" type="button" value="button" runat="server"/>是Html控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。<input id="Button4" type="button" value="button" runat="server" onserverclick="test" />我们为Html控件添加了一个onserverclick事件,点击此按钮页面会发回服务器端,并执行test(object sender, EventArgs e)方法。

<asp:Button ID="Button2" runat="server" Text="Button" />是Asp.net服务器控件,并且我们没有为其定义click,但是我们点击时,页面也会发回到服务器端。

 由此可见:Html标注和Html控件的事件是由页面来触发的,而Asp.net服务器控件则是由页面把Form发回到服务器端,由服务器来处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6295349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-20
下一篇 2023-03-20

发表评论

登录后才能评论

评论列表(0条)

保存