第二讲 Web窗体 WEB窗体由HTML、代码和控件联合组成,其中控件在运行IIS的web服务器上执行。最简单的ASP.NET页由空白HTML组成,并以.aspx为扩展名来命明。
2.1 创建Web窗体 (Web Form) 2.1.1 使用记事本编写Web窗体 (1)<!DOCTYPE HTML PUBLIC "-//W 例:a.html <html> <head> </head> <body> <form action="b.aspx" method="get"> <input type="text" name="txt1" /> <input type="submit" /> </form> </body> </html>
b.aspx <script language="c#" runat="server"> public void Page_Load() { string s; s = Request["txt1"]; Response.Write(s); } </script>
(2)使用vbscript <script language="vbscript"> sub test document.write("this is vb line!") end sub </script>
(3)使用javascript <script language="javascript"> function test() { document.write("this is js line!"); } </script>
2.1.2 使用VS.NET编写Web窗体 创建页面操作示例,Web 窗体中.aspx 扩展名的 Web 页——界面 (1)Page指令 <%@ Page %>: Language:页面使用语言。值为 c# AspCompat:把asp项目合并到asp.net中。值为true或false。 AutoEventWireup:是否自动装载页面事件。值为Page_Load,Page_Init等是否自动装载。 CodeFile:代码隐藏类的文件名。指存放代码的页面。注意发布的时候,是否页把这个页面一起发布。 Inherits:指示页面中类所在的地方。 Buffer:是否使用缓存。默认为真,全部缓存后再输出给客户浏览器;设置为False,缓存为16K。 Debug:是否允许调试。默认值为false。 Description:页面文本说明,可以是任何字符串。 EnableSessionState:指示页面请求是否启动一个新的会话,是否可以修改会话中的数据,值是:true/false/readonly;默认值为true。 (2)其他指令:共有6个指令 @Import:代码中引用命名空间。 @OutputCache:指定页面缓存参数。 @Implements:指定页面实现.net的接口。 @Register:声明控件的标记前缀,例如添加自定义控件。 @Maste: @Control:指定特定的asp.net用户控件。
(3)注释: <!-- 注释--> (4)body属性 (5)form属性,标记了如何处理组成的控件。 Method:定义了控件值送会给服务器的方法。有post和get两种方式。 runat:指示控件是否在服务器端运行。runat = “server”
2.1.3 创建附加的web窗体 操作示例
2.1. 把html包含到项目中。 直接把.html扩展名更改为.aspx。 提示是否在创建一个新的类文件时,选择“是”。
2.2 使用web服务器控件 2.2.1 控件种类 都需要放在form中。 (1)HTML控件 (2)WEB服务器控件 (3)HTML服务器控件 操作示例
2.2.2 客户端控件和服务端控件区别: (1)web页面上显示的区别:一个蓝色的小标签。 (2)提交到服务器后的页面状态。 (3)在代码生成上有不同:自动生成Protected 对象。 a、是否在aspx生成控件名。 例:手动的添加<asp:TextBox ID="text1" Runat="server"></asp:TextBox> b、是否在cs创建一个数据成员。 例:手动添加protected System.Web.UI.WebControls.TextBox (4)服务器控件都要加上 runat="server" 。 (5)服务器控件{zh1}都要转换成html控件来执行。
2.2.3 保存视图状态 (1){dy}次传递给浏览器的页面和第二次传递给浏览器的页面不同。既:创建页面——重建页面。 (2)任何基于HTTP的技术都是无状态,就是说服务器不能保存客户端请求的任何信息。 在asp.net可以使用视图状态来保存控件的状态。添加一个名为_viewstate的隐藏控件,用来解决这个问题,viewstate被加密保存在web页面上。 (a)隐藏空间:_viewstate控件是一个隐藏控件,包含一个名/值对的字符串值。 (b)禁用和启用视图状态 <%@ Page EnableViewState=“False” %> <asp:ListBox id = “ListName” EnableViewState="false" runat="server"></asp:ListBox>
注意:使用GridView控件可能会降低性能。
2.2.3 控件取值 (1)WEB服务器控件取值: 例:TextBox1.Text (2)HTML控件取值: 例:Request["text1"]
2.2.4 选择适合类型的控件 |