1.Windows控件与Web服务器控件的主要区别
ASP.NET提供的Web服务器控件简化了Web应用程序的设计过程。
Windows控件的属性、方法、事件都是在本机上执行的;
Web服务器控件的属性、方法、事件则全部是在服务器端执行的。
在Web应用程序中,用户通过客户端浏览器操作Web页面时,对Web服务器控件的每个请求都要发送到服务器端,服务器进行处理后,再将处理结果转换为客户端脚本发送到客户端显示。
由于客户端的每个请求都要通过网络发送到服务器处理,会对网络传输带来很大的负担。
2.RadioButton控件与RadioButtonList控件
RadioButton服务器控件与Windows控件的区别:
在Windows窗体中,在同一容器中的所有RadioButton控件都默认为同一组,只能在这些控件中进行单选;
Web窗体中,默认情况下会将同一容器中的所有RadioButton服务器控件作为不同组,可以多选。如果希望将其作为一组,需要设置RadioButton 的GroupName属性。
RadioButton控件的GroupName属性:使用该属性指定一个单选按钮组,以创建一组互斥的控件。
RadioButtonList服务器控件是封装了一组单选按钮控件的列表控件。其主要的属性、事件与CheckBoxList服务器控件相同。
3.维护Web页面状态
IsPostBack属性
true: 表示该页面是经服务器处理后,发回到客户端显示。
false:表示页面初次显示,还未向服务器发送请求。
ViewState对象
用于存储页面中控件的信息,在服务器端和客户端之间进行传递。具体用法见[例14-2]。
会话状态
Cookie
HiddenField控件
保存在服务器端和客户端之间进行传递的某个值,具体用法
4,HiddenField控件
适用场合:
存储用户不希望显示的字段
安全性不高(在网页源代码中可以看到)
基本属性
Value属性:用于保存隐藏输入框的值。
EnableViewState属性:决定是否自动保存该控件的状态以用于页面在客户端和服务器端之间的往返过程。默认值是true,表示系统会自动将控件状态进行传送,客户端则不能干预该控件的状态值。
ValueChanged事件:在Value值发生改变时触发的操作。注意,EnableViewState=false时,客户端才能得到控件的Valu值,从而由其变化触发该事件;负责该事件不会被触发执行。
HiddenField控件示例
public partial class _Default : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
if (hiddenFieldCount.Value == String.Empty) {
hiddenFieldCount.Value = "0"; }
}
protected void buttonOK_Click(object sender, EventArgs e) {
hiddenFieldCount.Value = (Convert.ToInt32(hiddenFieldCount.Value) + 1).ToString();
labelResult.Text = hiddenFieldCount.Value;
}
protected void hiddenFieldCount_ValueChanged(object sender, EventArgs e) { //当HiddenField控件的值发生变化时,触发的事件
Response.Write("Changed." + DateTime.Now.ToString( ));
}
}