ASP.NET Web Forms - 维持 ViewState
通过在您的 Web Form 中维持对象的 ViewState(视图状态),您可以省去大量的编码工作。
维持 ViewState(视图状态)
在经典 ASP 中,当一个表单被提交时,所有的表单值都会被清空。假设您提交了一个带有大量信息的表单,而服务器返回了一个错误。您不得不回到表单改正信息。您点击返回按钮,然后发生了什么……所有表单值都被清空了,您不得不重新开始所有的一切!站点没有维持您的 ViewState。
在 ASP .NET 中,当一个表单被提交时,表单会连同表单值一起出现在浏览器窗口中。如何做到的呢?这是因为 ASP .NET 维持了您的 ViewState。ViewState 会在页面被提交到服务器时表明它的状态。这个状态是通过在带有 控件的每个页面上放置一个隐藏域定义的。源代码如下所示:
.....some code
维持 ViewState 是 ASP.NET Web Forms 的默认设置。如果您想不维持 ViewState,请在 .aspx 页面顶部包含指令 <%@ Page Enab ...
ASP.NET Web Forms - 母版页
母版页为您的网站的其他页面提供模版。
母版页母版页允许您为您的 web 应用程序中的所有页面(或页面组)创建一致的外观和行为。母版页为其他页面提供模版,带有共享的布局和功能。母版页为内容定义了可被内容页覆盖的占位符。输出结果是母版页和内容页的组合。内容页包含您想要显示的内容。当用户请求内容页时,ASP.NET 会对页面进行合并以生成结合了母版页布局和内容页内容的输出。
母版页实例
<%@ Master %>
Standard Header From Masterpage
上面的母版页是一个为其他页面设计的普通 HTML 模版页。
@ Master 指令定义它为一个母版页。
母版页为单独的内容包含占位标签 。
id="CPH1" 属性标识占位符,在相同母版页中允许多个占位符。
这个母版页被保存为 "master1.master"。
注释:母版页也能够包含代码,允许动态的内容。
内容页实例
<%@ Page MasterPageFile=”master1.master” %><asp:Con ...
ASP.NET Web Forms - 服务器控件
服务器控件是服务器可理解的标签。
经典 ASP 的局限性下面列出的代码是从上一章中复制的:
Hello Runoob!
上面的代码反映出经典 ASP 的局限性:代码块必须放置在您想要输出显示的位置。
通过经典 ASP,想要把可执行代码从 HTML 页面中分离出来是不可能的。这让页面变得难以阅读,也难以维护。
ASP.NET - 服务器控件ASP.NET 通过服务器控件,已经解决了上述的”意大利面条式代码”问题。服务器控件是服务器可理解的标签。有三种类型的服务器控件:
HTML 服务器控件 - 创建的 HTML 标签Web 服务器控件 - 新的 ASP.NET 标签Validation 服务器控件 - 用于输入验证
ASP.NET - HTML 服务器控件HTML 服务器控件是服务器可理解的 HTML 标签。ASP.NET 文件中的 HTML 元素,默认是作为文本进行处理的。要想让这些元素可编程,需向 HTML 元素中添加 runat=”server” 属性。这个属性表示,该元素将被作为服务器控件进行处理。同时 ...
ASP.NET Web Forms - 数据库连接
ADO.NET 也是 .NET 框架的组成部分。ADO.NET 用于处理数据访问。通过 ADO.NET,您可以操作数据库。
尝试一下 - 实例
数据库连接 - 绑定到 DataList 控件数据库连接 - 绑定到 Repeater 控件
什么是 ADO.NET?
ADO.NET 是 .NET 框架的组成部分ADO.NET 由一系列用于处理数据访问的类组成ADO.NET 完全基于 XMLADO.NET 没有 Recordset 对象,这一点与 ADO 不同
创建数据库连接在我们的实例中,我们将使用 Northwind 数据库。首先,导入 “System.Data.OleDb” 命名空间。我们需要这个命名空间来操作 Microsoft Access 和其他 OLE DB 数据库提供商。我们将在 Page_Load 子例程中创建这个数据库的连接。我们创建一个 dbconn 变量,并为其赋值一个新的 OleDbConnection 类,这个类带有指示 OLE DB 提供商和数据库位置的连接字符串。然后我们打开数据库连接:
<%@ Im ...
ASP.NET Web Forms - 导航
ASP.NET 带有内建的导航控件。
网站导航维护大型网站的菜单是困难而且费时的。在 ASP.NET 中,菜单可存储在文件中,这样易于维护。文件通常名为 web.sitemap,并且被存放在网站的根目录下。此外,ASP.NET 有三个新的导航控件:
Dynamic menusTreeViewsSite Map Path
Sitemap 文件在本教程中,使用下面的 sitemap 文件:
<siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
<siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
创建 sitemap 文件的规则:
XML 文件必须包含 围绕内容的 标签 标签只能有一个 子节点( “home” ...
ASP.NET Web Forms - 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。ASP.NET 支持三种不同的开发模式:Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体):本教程介绍 Web Forms。
Web Pages
MVC
Web Forms
从何入手?多数开发人员学习一个新技术,是从查看运行实例开始的。如果您想查看一个 Web Forms 运行实例,请查看以下的ASP.NET Web Forms 演示。
什么是 Web Forms?Web Forms 是三种创建 ASP.NET 网站和 Web 应用程序的编程模式中的一种。其他两种编程模式是 Web Pages 和 MVC(Model View Controller 模型-视图-控制器)。Web Forms 是最古老的 ASP.NET 编程模式,是整合了 HTML、服务器控件和服务器代码的事件驱动网页。Web Forms 是在服务器上编译和执行的,再由服务器生 ...
ASP.NET Web Forms - 实例
ASP.NET HTML 控件HTML AnchorHTML ButtonHTML ImageHTML Image 2HTML InputbuttonHTML InputCheckboxHTML InputHiddenHTML InputImageHTML InputRadiobuttonHTML TableHTML Table 2HTML TextareaASP.NET Web 控件AdRotatorButtonButton 2CalendarCalendar 2Calendar 3CheckboxCheckboxListDataList用 styles的DataList用 的DataListDropdownListHyperlinkImageImageButtonLabelLinkButtonListboxLiteralLiteral 2PanelRadiobuttonRadiobuttonListRepeater用 重复用 重复TableTable 2TextboxTextbox 2Textbox 3XMLASP.NET Valid ...
ASP.NET Web Forms - 事件
事件句柄是一种针对给定事件来执行代码的子例程。
ASP.NET - 事件句柄请看下面的代码:
<%lbl1.Text=”The date and time is “ & now()%>
上面的代码将在何时被执行?答案是:"不知道..."。
Page_Load 事件Page_Load 事件是 ASP.NET 可理解的众多事件之一。Page_Load 事件会在页面加载时被触发, ASP.NET 将自动调用 Page_Load 子例程,并执行其中的代码:
实例
Sub Page_Load
lbl1.Text="The date and time is " & now()
End Sub
演示实例 »
注释:Page_Load 事件不包含对象引用或事件参数!
Page.IsPostBack 属性
Page_Load 子例程会在页面每次加载时运行。如果您只想在页面第一次加载时执行 Page_Load 子例程中的代码,那么您可以使用 Page.IsPostBack 属性。如果 Page. ...
ASP.NET Web Forms - XML 文件
我们可以绑定 XML 文件到列表控件。
一个 XML 文件这里有一个名为 “countries.xml” 的 XML 文件:
Norway
N
Sweden
S
France
F
Italy
I查看这个 XML 文件:countries.xml
绑定 DataSet 到 List 控件首先,导入 “System.Data” 命名空间。我们需要该命名空间与 DataSet 对象一起工作。把下面这条指令包含在 .aspx 页面的顶部:
<%@ Import Namespace=”System.Data” %>接着,为 XML 文件创建一个 DataSet,并在页面第一次加载时把这个 XML 文件载入 DataSet:
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New DataSet
mycountries.ReadXml(MapPath("countries.xml"))
end if
end sub
为了 ...
ASP.NET Web Forms - Web 服务器控件
Web 服务器控件是服务器可理解的特殊 ASP.NET 标签。
Web 服务器控件就像 HTML 服务器控件,Web 服务器控件也是在服务器上创建的,它们同样需要 runat=”server” 属性才能生效。然而,Web 服务器控件没有必要映射任何已存在的 HTML 元素,它们可以表示更复杂的元素。创建 Web 服务器控件的语法是:
<asp:control_name id=”some_id” runat=”server” />
Web 服务器控件描述
AdRotator显示一个图形序列
Button显示下压按钮
Calendar显示日历
CalendarDaycalendar 控件中的一天
CheckBox显示复选框
CheckBoxList创建多选的复选框组
DataGrid显示 grid 中数据源的字段
DataList通过使用模版显示数据源中的项目
DropDownList创建下拉列表
HyperLink创建超链接
Image显示图像
ImageButton显示可点击 ...