ASP.NET.4 高级程序第4版 第3章Web窗体
3.1 页面处理
1.Web应用程序是在服务器上面执行的。浏览器把客户的信息发送给服务器。ASP.NET接受到这个页面后,就会触发相应的服务器端事件来通知你的程序代码。
2.Web应用程序是无状态的。 视图状态记录着客户段的状态。
3.1.1
HTML表单,一个HTML页面有两个text 。提交时会提交FistName=value,LastName=value。
在ASP中 string fistName=Request.Form["FistName"]
在ASP.NET中可以 string fistName=txtFirstName.Text;
备注:ASP.NET只包含一个<form> ,<form>需要runat="server"特性
3.1.2 动态用户界面
string message ="<span style\="color:Red\">"; Response.Write(message);你可以简单设置属性lblWeblcome.ForColor=Color.Red;
3.1.3 ASP.NET事件模型
1.第一次运行。ASP.NET创建页面和控件对象,初始化代码。显示html给客户端。从内存中移除。
2.用户触发事件,页面所有的表单提交,根据视图重构页面。
3.ASP.NET 根据提交,重现最后提交的状态。
4.触发相应的事件
5.修改后的Html发给客户端,页面从内存中移除。
有新的事件重复2,4步骤
3.1.4 自动回送
Web控件的AutoPostBack属性设为True。ASP.NET就会自动生成一个javascript事件。
3.1.5 视图状态
Web控件EnableViewState属性 false不启用视图状态。
第一次请求
视图状态有被修改的危险,不要使用视图状态的信息作为依据。
2.视图状态分块
<configuration>
<system.web>
<pages maxPageStateFieldLength="1024">
<system.web>
</configuration>
3.1.6 XHMTL兼容性
1.标签和特性名必须用小写
2.所有元素必须关闭
3.所有元素必须是关闭的
1.文档类型定义
page指令后 就是文档类型定义
<!DOCTYPE html PUBLIC "-//W3c//DTD XHTML 1.1//EN" " http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2.配置XHTML呈现
<configuration>
<system.web>
<pages controlRenderingCompatibilityVersion="4.0">
</system.web>
</configuration>
3.1.7 客户端ID
ClientIDMode 4个枚举值 AutoID 把容器和控件ID连起来产生一个ID
Static 服务段的ID就是客户段的ID
Predictable 和AutoID相同连接,但简洁一点
Inherit 使用父容器相同的策略,或者读取配置文件的策略
3.2 Web窗体处理阶段