服务器端的控制如何工作?
作 者 : 青苹果电脑工作室
这是如何实现的?关键是runat="server" 属性。要了解这是如何进行的,看看浏览器内页面
的源代码。是这样的:
〈 HTML 〉
〈 BODY 〉
You selected 'Windows 98' for machine 'tizzy'.
〈 FORM name="ctrl0" method="post" action="pageone.aspx" id="ctrl0" 〉
〈 INPUT type="hidden" name="__VIEWSTATE" value="a0z1741688109__x" 〉
Machine Name:
〈 INPUT type="text" id="txtName" name="txtName" value="tizzy" 〉
〈 P / 〉
Operating System:
〈 SELECT id="selOpSys" size="1" name="selOpSys" 〉
〈 OPTION value="Windows 95" 〉Windows 95〈 /OPTION 〉
〈 OPTION selected value="Windows 98" 〉Windows 98〈 /OPTION 〉
〈 OPTION value="Windows NT4" 〉Windows NT4〈 /OPTION 〉
〈 OPTION value="Windows 2000" 〉Windows 2000〈 /OPTION 〉
〈 /SELECT 〉
〈 P / 〉
〈 INPUT type="submit" value="Submit" 〉
〈 /FORM 〉
〈 /BODY 〉
〈 /HTML 〉
用这个ASP+ 代码创建 〈 FORM 〉 :
〈 FORM runat="server" 〉
...
〈 /FORM 〉
当页面被ASP+执行时,到浏览器的输出是:
〈 FORM name="ctrl0" method="post" action="pageone.aspx" id="ctrl0" 〉
...
〈 /FORM 〉
可以看到action 和 method 属性是ASP+自动创建的,所以表单中控制的值就会被邮递回同一页。
ASP+还为表单增加唯一的id 和 name 属性,因为我们没有提供。但是如果你确实指定了这些属性,
就会使用你所指定的值。
如果包含了method="GET" 属性,表单的内容就作为查询字符串的一部分被发送给服务器,同
以前版本的ASP一样,自动状态管理就不再有效。
在表单内,用这样的ASP+ 代码创建文本框:
〈 INPUT type="text" id="txtName" runat="server" 〉
浏览器的结果是这样的: