问题描述:
在一个Asp.net页面中添加一个TextBox控件,一个Html标签,一个Button控件,一个Label控件。代码如下:
<form id="form1" runat="server">
<div>
Web控件:<asp:TextBox runat="server"ID="txtName"></asp:TextBox>
<br />
Html控件:<input type="Text" name="txtName"/>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div>
</form>
注意:TextBox控件的ID和input标签的Name相同。
在Button的Click事件中编写如下代码:
Label1.Text = "上海世博会欢迎您:"+txtName.Text;
然后浏览页面,将会看到如下效果:
在两个文本框中分别输入:abc,123
在点击Button之前想像一下执行的结果应该是什么?是否应该是:
而实际上执行的结果是:
Label上面显示的是Web控件和HTML控件中的值连接起来之后的值。
或许这是一个很简单的问题,但是却说明了Asp.NET控件的原理,以及 Asp.NET页面生命周期的问题,明白的朋友如果有时间请给予指点,不知道的朋友希望认真思考一下,一起来讨论讨论,明天我再来做一个总结。