- ASP.NET 教程
- ASP.NET - 首页
- ASP.NET - 简介
- ASP.NET - 环境
- ASP.NET - 生命周期
- ASP.NET - 第一个示例
- ASP.NET - 事件处理
- ASP.NET - 服务器端
- ASP.NET - 服务器控件
- ASP.NET - HTML 服务器控件
- ASP.NET - 客户端
- ASP.NET - 基本控件
- ASP.NET - 指令
- ASP.NET - 状态管理
- ASP.NET - 验证器
- ASP.NET - 数据库访问
- ASP.NET - ADO.net
- ASP.NET - 文件上传
- ASP.NET - 广告轮播
- ASP.NET - 日历控件
- ASP.NET - 多视图
- ASP.NET - 面板控件
- ASP.NET - AJAX 控件
- ASP.NET - 数据源
- ASP.NET - 数据绑定
- ASP.NET - 自定义控件
- ASP.NET - 个性化
- ASP.NET - 错误处理
- ASP.NET - 调试
- ASP.NET - LINQ
- ASP.NET - 安全性
- ASP.NET - 数据缓存
- ASP.NET - Web 服务
- ASP.NET - 多线程
- ASP.NET - 配置
- ASP.NET - 部署
- ASP.NET 资源
- ASP.NET - 快速指南
- ASP.NET - 有用资源
- ASP.NET - 讨论
ASP.NET - 客户端
ASP.NET 客户端编码有两个方面
客户端脚本:它在浏览器上运行,从而加快页面执行速度。例如,客户端数据验证可以捕获无效数据并相应地警告用户,而无需往返服务器。
客户端源代码:ASP.NET 页面生成此代码。例如,ASP.NET 页面的 HTML 源代码包含许多隐藏字段和自动注入的 JavaScript 代码块,这些代码块保留诸如视图状态之类的信息或执行其他操作以使页面正常工作。
客户端脚本
所有 ASP.NET 服务器控件都允许调用使用 JavaScript 或 VBScript 编写的客户端代码。一些 ASP.NET 服务器控件使用客户端脚本在不回发到服务器的情况下向用户提供响应。例如,验证控件。
除了这些脚本之外,Button 控件还具有一个 OnClientClick 属性,该属性允许在单击按钮时执行客户端脚本。
传统的和服务器 HTML 控件具有以下事件,当这些事件触发时可以执行脚本
事件 | 描述 |
---|---|
onblur | 当控件失去焦点时 |
onfocus | 当控件获得焦点时 |
onclick | 当控件被点击时 |
onchange | 当控件的值发生变化时 |
onkeydown | 当用户按下键时 |
onkeypress | 当用户按下字母数字键时 |
onkeyup | 当用户释放键时 |
onmouseover | 当用户将鼠标指针移动到控件上时 |
onserverclick | 当控件被点击时,它会引发控件的 ServerClick 事件 |
客户端源代码
我们已经讨论过,ASP.NET 页面通常用两个文件编写
- 内容文件或标记文件(.aspx)
- 代码隐藏文件
内容文件包含 HTML 或 ASP.NET 控件标签和文本,以形成页面的结构。代码隐藏文件包含类定义。在运行时,内容文件被解析并转换为页面类。
此类与代码文件中的类定义和系统生成的代码一起构成可执行代码(程序集),该代码处理所有已发布的数据,生成响应并将其发送回客户端。
考虑以下简单页面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="clientside._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title> Untitled Page </title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Click" /> </div> <hr /> <h3> <asp:Label ID="Msg" runat="server" Text=""> </asp:Label> </h3> </form> </body> </html>
当此页面在浏览器上运行时,“查看源代码”选项会显示 ASP.Net 运行时发送到浏览器的 HTML 页面。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title> Untitled Page </title> </head> <body> <form name="form1" method="post" action="Default.aspx" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTU5MTA2ODYwOWRk31NudGDgvhhA7joJum9Qn5RxU2M=" /> </div> <div> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwKpjZj0DALs0bLrBgKM54rGBhHsyM61rraxE+KnBTCS8cd1QDJ/"/> </div> <div> <input name="TextBox1" type="text" id="TextBox1" /> <input type="submit" name="Button1" value="Click" id="Button1" /> </div> <hr /> <h3><span id="Msg"></span></h3> </form> </body> </html>
如果您正确地查看代码,您会发现前两个 <div> 标签包含存储视图状态和验证信息的隐藏字段。
广告