HTML控件、HTML服务器控件和Web控件的区别

本文详细阐述了HTML控件、HTML服务器控件及Web控件之间的区别,包括它们的定义、声明方式、运行环境及响应机制等内容,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTML控件、HTML服务器控件和Web控件的区别

1. 定义:
HTML控件:HTML规范中定义的各种标签。
HTML服务器控件:System.Web.UI.HtmlControls命名空间下的控件类。
Web控件:System.Web.UI.WebControls命名空间下的控件类。

2. 在网页中的声明:

//HTML控件:
<input id="Button1" type="button" value="button" />
//HTML服务器控件:在HTML控件的基础上添加runat属性。
<input id="Button2" type="button" value="button" runat="server" />
//Web控件:
<asp:ButtonID="Button3" runat="server" Text="Click Me" />

3. 运行环境:
HTML控件:只能运行在客户端,通过JavaScript等脚本语言来控制。
HTML服务器控件:运行在服务器端。
Web控件:运行在服务器端。

 4. 运行方式:

HTML控件:响应客户端的事件,客户端事件不会提交给服务器。比如点击按钮改变某个文本的内容:

<scripttype="text/javascript">  
    function ChangeText(){      <!—改变文本框内容-->       
        document.getElementById("demo").value="Text Change";
    }
</script>
<input type="text" id="demo" />
<input type="button" value="Click Me" onclick="ChangeText()"/>
HTML服务器控件、Web控件:客户端事件提交到服务器,服务器脚本运行结束后把结果返回给客户端。

HTML服务器控件:

//JavaScript脚本代码
<script runat="server">
    void button2_click(object sender, EventArgs e) {
        TextBox1.Text ="I'mChanged;";
    }
</script>
//HTML代码
<input id="Button2" type="button" value="button" runat="server" onserverclick="button2_click"/>

Web控件:

//C#事件代码
protected void Button1_Click(object sender,EventArgs e) {
    TextBox1.Text ="I'mChanged;";
 }
//HTML代码
<asp:ButtonID="Button1" runat="server" Text="ClickMe" onclick="Button1_Click"/>

注意:区别HTML控件、HTML服务器控件和Web控件调用方法的事件类型。
HTML控件只能调用客户端的脚本代码。如:onclick="ChangeText ()"且方法名的必须加括号,即使参数个数为0。
HTML服务器控件也可以调用客户端脚本代码。如果调用客户端脚本代码:onclick=”FuncName()”;如调用服务端代码:onserverclick=”FuncNmae”(如果函数没有参数,可以不添加括号)
Web控件也可以调用客户端脚本代码。如:

//先声明客户端脚本代码:
<script type="text/javascript">
    function ChangeTextBox2(){           
        document.getElementById("TextBox2").value = "I'm Changed;";                 
    }
</script>
在Web页面初始加载事件中添加客户端响应事件的脚本方法:
protected void Page_Load(object sender,EventArgs e)  {
    Button1.Attributes.Add("onclick","ChangeTextBox2();");
}

onclick特性属于控件未公开的属性,需要使用Attribute集合(1)

按钮事件的onclick、onserverclick区别:

onclick:调用客户端事件。

onserverclick:调用服务端事件。

 

按钮的点击事件与服务器的交互:
HTML按钮单击事件:在Form控件中如果是按钮type类型是submit,会向服务器提交表单信息。其它情况下默认只会响应客户端脚本。
HTML服务器按钮单击事件:runat属性声明为server,且调用服务器端脚本代码,则单击时会向服务器提交数据。
Web控件:只要单击按钮,都会向服务器提交数据;
(待补充内容:提交数据的类型:GET/POST)


 参考资料:

1ASP.NET 4 高级程序设计 4.2.5章节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值