全⽹最全⾯的ASP.NET标准控件介绍及代码演⽰
⽂章⽬录
1. ASP.NET 页⾯处理事件
1.1. 事件与⽣命周期
⼀个ASP.NET页⾯有⾃⼰的⽣命周期,它的⽣命周期是通过按照⼀定的顺序执⾏相应的事件来进⾏控制的
页⾯处理事件说明
PreInit事件Prelnit事件是⼀个事件早期可以访问的页⽣命周期。在Prelnit 事件之后,如果有个性化设置信息和页⾯主题,则会进⾏加载
Init事件当服务器控件初始化时执⾏,是其⽣命周期的第⼀步
Load事件当服务器控件加载到Page对象时执⾏
控件事件页⾯中的控件相应事件,例如Button控件的Click事件
1.2. ⾃动回发 IsPostBack属性
IsPostBack属性⽤于获取⼀个值,该值指⽰该页是否是Post回发(PostBack)的状态,简单点说就是判断当前页⾯的表单(form)请求是否是⾸次。IsPostBack只有在第⼀次请求的时候是false,其它时候都是true。
在ASP.NET框架内部有很多的场景需要判断IsPostBack,这是⼀个⾮常常⽤的属性。
语法:
public bool IsPostBack(get;)
例如:
// 在.aspx⽂件中添加⼀个Button,ID=Button1
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button"/>
// 在对应的.aspx.cs⽂件中添加如下判断语句:
// 页⾯是第⼀次请求时Button1可点击
// 页⾯⾮第⼀次请求时Button1不可点击
protected void Page_Load(object sender, EventArgs e)
{
if(Page.IsPostBack)
Button1.Enabled =false;
else
Button1.Enabled =true;
}
运⾏效果如下图所⽰,左图为第⼀次请求,此时Button可点击;右图为⾮第⼀次请求,此时Button呈灰⾊,不可点击。
2. 服务器控件
2.1. HTML服务器控件
HTML服务器控件⽤于将传统ASP页⾯转换为ASP.NET页⾯,这类控件实质上是使⽤HTML元素对ASP.NET页⾯进⾏控制。
在Visual Studio IDE中,可以切换到.aspx⽂件,然后在⼯具箱->HTML⾥到相应的HTML控件
htmlradio的text出不来例如如下HTML控件组合
...
<body>
<form id="form1" runat="server">
<!--⼀个textarea -->
<textarea id="TextArea1" rows="2">
</textarea>
<div>
<!--⼀个text -->
<input id="Text1" type="text"/>
<!--⼀个button -->
<input id="Button1" type="button"value="button"/>
</div>
<div>
<!--⼀个表单重置按钮-->
<input id="Reset1" type="reset"value="reset"/>
<!--⼀个表单提交按钮-->
<input id="Submit1" type="submit"value="submit"/>
</div>
</form>
</body>
...
可以⽣成出这样的页⾯布局
2.2. WEB服务器控件
Web服务器控件是指在服务器上执⾏程序逻辑的组件,这个组件可以⽣成⽤户界⾯,也可以不包括⽤户界⾯。每个服务器控件都包含⼀些成员对象,以便开发⼈员调⽤,例如属性、事件、⽅法等。
在Visual Studio IDE中,可以切换到.aspx⽂件,然后在⼯具箱⾥到相应控件,WEB服务器控件包括标准、数据、验证、导航、登录、WebParts、AJAX扩展、动态数据九项
3. ⽂本类型控件
3.1. 标签 Label控件
Label控件⼜可以叫做标签控件,主要是⽤来在浏览器上显⽰⽂本内容
在Visual Studio 2019 开发环境中,Label控件可以在⼯具箱->标准->Label到
例如下例,在.apsx⽂件中给Label设置默认值"⽂本",然后在.aspx.cs中动态地改变Label的值
...
// .aspx
<body>
<div>
<!--⼀个label -->
<asp:Label ID="Label1" runat="server" Text="⽂本"></asp:Label>
</div>
</body>
// .aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text ="ASP.NET⽂本标签";
}
...
运⾏时,Label1⾸先会显⽰"⽂本",然后在执⾏到Page_Load()时会将Label1的值改变为"ASP.NET⽂本标签",这是⼀个⼗分迅速的过程
3.2. ⽂本框 TextBox控件
在Web页⾯中,经常使⽤⽂本框控件(TextBox) 来接受⽤户的输⼊信息,包括⽂本、数字和⽇期等。
默认情况下,⽂本框控件是⼀个单⾏的⽂本框,⽤户只能输⼊⼀⾏内容,但是通过设置它的TextMode属性,可以将⽂本框改为允许输⼊多⾏⽂本或者输⼊密码等等形式。
例如
...
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="单⾏⽂本框"></asp:Label>
<!--单⾏⽂本框-->
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
<div>
<asp:Label ID="Label2" runat="server" Text="多⾏⽂本框"></asp:Label>
<!--多⾏⽂本框-->
<asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine"></asp:TextBox>
</div>
<div>
<asp:Label ID="Label3" runat="server" Text="密码⽂本框"></asp:Label>
<!--密码⽂本框-->
<asp:TextBox ID="TextBox3" runat="server" TextMode="Password"></asp:TextBox>
</div>
</form>
</body>
...
效果如下图所⽰
4. 按钮类型控件
4.1. 按钮 Button控件
Button控件是⼀个命令按钮控件,可以将Web页⾯回送到服务器,也可以处理控件命令事件。Button控件最重要的是Click事件, 该事件在单击Button控件时发⽣。
例如,创建两个Button,"登录"和重置。
// .aspx⽂件
...
<body>
<form id="form1" runat="server" aria-live="off">
<div>
<asp:Label ID="Label1" runat="server" Text="⽤户名"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
<div>
<asp:Label ID="Label2" runat="server" Text="密码"></asp:Label>
<asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox>
</div>
<div>
<asp:Button ID="Button1" runat="server" Text="登录" OnClick="Button1_Click"/>
<asp:Button ID="Button2" runat="server" Text="重置" OnClick="Button2_Click"/>
</div>
</form>
</body>
...
// .aspx.cs⽂件
// 登录Button的Click事件
protected void Button1_Click(object sender, EventArgs e)
{
/
/ 弹出窗⼝,提⽰登录成功
Response.Write("<script>alert('登录成功')</script>");
}
protected void Button2_Click(object sender, EventArgs e)
{
// 将两个TextBox的内容置为空
TextBox1.Text ="";
TextBox2.Text ="";
}
登录按钮的点击事件效果如下图所⽰
4.2. 图像按钮 ImageButton控件
ImageButton控件为图像按钮控件,它在功能上和Button控件相同,只是在呈现外观上表现为图像。
ImageButton的两个重要属性:
1. lmageUrl属性,设置在ImageButton控件中显⽰的图像的地址
2. PostBackUrl属性,设置单击ImageButton控件时从当前页发送到的⽹页的地址
因此在使⽤ImageButton控件时通常都需要两个⽹页,⼀个是当前页,⼀个是跳转到的页⾯
例如以下代码,ImageUrl="~/timg.jpg" PostBackUrl="~/WebForm2.aspx",即会显⽰timg.jpg,点击后会跳转到WebForm2.aspx:
...
<body>
<form id="form1" runat="server" aria-live="off">
<div>
<asp:ImageButton ID="ImageButton1" runat="server" Height="51px" ImageUrl="~/timg.jpg" PostBackUrl="~/WebForm2.aspx" Width="51px"/>
</div>
</form>
</body>
...

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。