一、Web Pages概述
1. 什么是 Web Pages?
Web Pages 是三种创建 ASP.NET 网站和 Web 应用程序的编程模式中的一种。其他两种编程模式是 Web Forms 和 MVC(Model View Controller 模型-视图-控制器)。
Web Pages 是开发 ASP.NET 网页最简单的开发模式。它提供了一种简单的方式来将 HTML、CSS、JavaScript 和服务器脚本结合起来。
2. Web Pages路径
~ 运算符 , 使用 ~ 运算符,在编程代码中规定虚拟路径
如果使用 ~ 运算符,在站点迁移到其他不同的文件夹或者位置时,可以不用更改任何代码:
var myImagesFolder = "~/images";
var myStyleSheet = "~/styles/StyleSheet.css";
Server.MapPath 方法
Server.MapPath 方法将虚拟路径(/index.html)转换成服务器能理解的物理路径(C:\Documents\MyWebSites\Demo\default.html)
当需要打开服务器上的数据文件时,可以使用这个方法(只有提供完整的物理路径才能访问数据文件):
var pathName = "~/dataFile.txt";
var fileName = Server.MapPath(pathName);
3. Page对象 方法、属性
4. Page 类
5. Database对象
二、Web Forms概述
1. 什么是 Web Forms?
Web Forms 是三种创建 ASP.NET 网站和 Web 应用程序的编程模式中的一种。其他两种编程模式是 Web Pages 和 MVC(Model View Controller 模型-视图-控制器)。
Web Forms 是最古老的 ASP.NET 编程模式,是整合了 HTML、服务器控件和服务器代码的事件驱动网页。Web Forms 是在服务器上编译和执行的,再由服务器生成 HTML 显示为网页。Web Forms 有数以百计的 Web 控件和 Web 组件用来创建带有数据访问的用户驱动网站。现在公司的项目用到的就是WebForms,吐槽一句,Technology is so backward。
2. 它是如何工作的?
从根本上讲,ASP.NET 页面与 HTML 是完全相同的。
- HTML页面的扩展名是
.htm,如果浏览器向服务器请求一个HTML页面,服务器可以不进行任何修改,就直接发送页面给浏览器; - ASP.NET页面的扩展名是
.aspx,如果浏览器向服务器请求ASP.NET页面,服务器在将结果发回给浏览器之前,需要先处理页面中的可执行代码。
转换 HTML 页面为 ASP.NET 页面最简单的方法是,直接复制一个 HTML 文件,并把新文件的扩展名改成 .aspx。
三、Web Forms控件
ASP.NET控件分为:HTML 服务器控件、Web服务器控件、Validation 服务器控件
1. HTML 服务器控件
HTML服务器控件是服务器可理解的 HTML 标签
ASP.NET 文件中的 HTML 元素,默认是作为文本进行处理的。要想让这些元素可编程,需向 HTML 元素中添加 runat="server"属性。这个属性表示,该元素将被作为服务器控件进行处理,同时需要添加 id 属性来标识服务器控件,id 引用可用于操作运行时的服务器控件。
注释:所有 HTML 服务器控件必须位于带有 runat="server" 属性的 <form> 标签内,runat="server" 属性表明了该表单必须在服务器上进行处理,同时也表明了包含在它内部的控件可被服务器脚本访问。
2.Web 服务器控件
Web 服务器控件是服务器可理解的特殊 ASP.NET 标签。
就像 HTML 服务器控件,Web 服务器控件也是在服务器上创建的,它们同样需要 runat=“server” 属性才能生效。然而,Web 服务器控件没有必要映射任何已存在的 HTML 元素,它们可以表示更复杂的元素。
创建 Web 服务器控件的语法是:
<asp:control_name id="some_id" runat="server" />
3.Validation 服务器控件
Validation 服务器控件是用来验证用户输入的,如果用户输入没有通过验证,将显示一条错误消息给用户。
每种 validation 控件执行一种指定类型的验证(比如验证某个指定的值或者某个范围的值)。在默认情况下,当 Button、ImageButton、LinkButton 控件被点击时,会执行页面验证。您可以设置 CausesValidation 为 false ,来阻止按钮控件被点击时进行验证。
创建 Validation 服务器控件的语法是:
<asp:control_name id="some_id" runat="server" />
4. Web Forms 表单
所有的服务器控件都必须出现在 <form> 标签中,<form> 标签必须包含 runat=“server” 属性。runat=“server” 属性表明该表单必须在服务器上进行处理,同时也表明了包含在它内部的控件可被服务器脚本访问:
<form runat="server">
...HTML + server controls
</form>
该表单总是被提交到自身页面。如果您指定了一个 action 属性,它会被忽略。如果您省略了 method 属性,它将会默认设置 method=“post”。同时,如果您没有指定 name 和 id 属性,它们会由 ASP.NET 自动分配。
注意:一个 .aspx 页面只能包含一个 <form runat="server"> 控件!
5. 常使用的WebForms控件
<asp:TextBox id="txt1" runat="server" />
<asp:Button OnClick="submit" Text="Submit" runat="server" />
- ASP.NET HTML控件:
HTML Button、HTML InputImage、HTML Table - ASP.NET Web控件:
Button、Checkbox、ImageButton、Label、Repeater、Table、Textbox - ASP.NET Validation 控件:
CompareValidator、CustomValidator、RegularExpressionValidator、RequiredFieldValidator、Validationsummary
代码:
<html>
<body>
<form runat="server">
<p>Enter a number from 1 to 100:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Submit" runat="server" />
</p><p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="The value must be from 1 to 100!"
runat="server" />
</p>
</form>
</body>
</html>
四、WebForms补充
1.Page_Load 事件
Page_Load 事件是 ASP.NET 可理解的众多事件之一。Page_Load 事件会在页面加载时被触发, ASP.NET 将自动调用 Page_Load 子例程,并执行其中的代码。
2.维持 ViewState(视图状态)
在经典 ASP 中,当一个表单被提交时,所有的表单值都会被清空。
ASP .NET 中,当一个表单被提交时,表单会连同表单值一起出现在浏览器窗口中。如何做到的呢?这是因为 ASP .NET 维持了 ViewState。 ViewState 会在页面被提交到服务器时表明它的状态,这个状态是通过在带有 <form runat="server"> 控件的每个页面上放置一个隐藏域定义的。
源代码如下所示:
<form name="_ctl0" method="post" action="page.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE"
value="dDwtNTI0ODU5MDE1Ozs+ZBCF2ryjMpeVgUrY2eTj79HNl4Q=" />
some code...
</form>
411

被折叠的 条评论
为什么被折叠?



