为什么在ASP.NET页面中调用js文件中的函数的时候,当js中的字符串变量包含中文的时候,在编译的时候会出错,.net不认识js中的中文字符!

chenwjx 2003-08-20 01:36:46
为什么在ASP.NET页面中调用js文件中的函数的时候,当js中的字符串变量包含中文的时候,在编译的时候会出错,asp.net不认识js中的中文字符!!请各们大侠指点!!
比如我在js中定义了一个字符数组:
Titlestr[0] = ['公司介绍','web/0.html'];
Titlestr[1] = ['来电显示','web/1.html'];
Titlestr[2] = ['同志有请','web/2.html'];
Titlestr[3] = ['我的家人','web/3.html'];
Titlestr[4] = ['公司内墓','web/4.html'];
Titlestr[5] = ['中国太阳','web/5.html'];
Titlestr[6] = ['我的朋友','web/6.html'];
Titlestr[7] = ['兄弟情深','web/7.html'];
Titlestr[8] = ['回首页','default.htm'];

编译中会出现将第一个“[”和中文产生的乱码连成一个字符串,这样它会认为后面缺少一个"]",而造成编译不通过,请指教!
...全文
25 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenwjx 2003-08-20
  • 打赏
  • 举报
回复
谢谢,我刚刚试了一下,不行啊!我的那一段定义数组的源码是这样的
var Titlestr = new Array();
Titlestr[0] = ['公司介绍','web/0.html'];
Titlestr[1] = ['来电显示','web/1.html'];
Titlestr[2] = ['同志有请','web/2.html'];
Titlestr[3] = ['我的家人','web/3.html'];
Titlestr[4] = ['公司内墓','web/4.html'];
Titlestr[5] = ['中国太阳','web/5.html'];
Titlestr[6] = ['我的朋友','web/6.html'];
Titlestr[7] = ['兄弟情深','web/7.html'];
Titlestr[8] = ['回首页','default.htm'];

我刚刚把它改成这样了,还是不行!
var Titlestr = new Array();
Titlestr[0] = new Array ['公司介绍','web/0.html'];
Titlestr[1] = new Array['来电显示','web/1.html'];
Titlestr[2] = new Array['同志有请','web/2.html'];
Titlestr[3] = new Array['我的家人','web/3.html'];
Titlestr[4] = new Array['公司内墓','web/4.html'];
Titlestr[5] = new Array['中国太阳','web/5.html'];
Titlestr[6] = new Array['我的朋友','web/6.html'];
Titlestr[7] = new Array['兄弟情深','web/7.html'];
Titlestr[8] = new Array['回首页','default.htm'];
或者是如下也不行!

Titlestr[0] = new Array ['公司介绍','web/0.html'];
Titlestr[1] = new Array['来电显示','web/1.html'];
Titlestr[2] = new Array['同志有请','web/2.html'];
Titlestr[3] = new Array['我的家人','web/3.html'];
Titlestr[4] = new Array['公司内墓','web/4.html'];
Titlestr[5] = new Array['中国太阳','web/5.html'];
Titlestr[6] = new Array['我的朋友','web/6.html'];
Titlestr[7] = new Array['兄弟情深','web/7.html'];
Titlestr[8] = new Array['回首页','default.htm'];


孟子E章 2003-08-20
  • 打赏
  • 举报
回复
Titlestr[0] = new Array('公司介绍','web/0.html');
......
简介

很多人都知道Google Map,其实,Google为我们自己开发应用程序提供了丰富的API,我们只要具备一些JavaScript的知识,就完全可以利用它们。但是,对于我来说,在ASP.NET页面使用JavaScript来调用Google Map的API有一定难度,尤其是利用服务器端函数来动态画出Google Map。例如,我想从SQL Server读取经纬度信息,然后在Google Map插入一个点。如果熟悉AJAX的话,很快就能得出答案。我们必须用JavaScript调用ASP.NET服务器端函数,利用得到的数据来绘制Google Map。简单吧?其实,对于我来说并非如此。因此,我决定开发一个用户控件来处理JavaScript代码,这样,我就能集精力于服务器端函数了。



特点

1.不需要JavaScript知识就能绘制Google Maps,只需在相应页面加入自定义控件即可。

2.使用AJAX调用来获取服务器端数据。

3.提供最优越的性能表现。



如何使用

在这里,我并不想解释我是如何创建该控件的。我只要教你如何使用它。



系统需求

1.Visual Studio 2005或更高版本

2.Microsoft ASP.NET AJAX Extensions支持

3.Internet Explorer 7.0或Mozilla Firefox 2.x



你只需完成以下几步:

1.新建一个ASP.NET AJAX-Enabled Website。

2.将源代码App_Code文件夹、GoogleMapForASPNet.ascx、GoogleMapForASPNet.ascx.cs,GService.asmx复制到你的ASP.NET应用程序下。

3.保证你的网站支持AJAX技术。

4.打开Default.aspx(或任何你想加入Google Map的位置),将该自定义控件拖放至相应位置并编译,这样就实现了最简单的带有Google Map的ASP.NET网页。

JS JSP ASP .NET J2AM API接口和返回的版本 目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 bat 文件(Windows 下使用),或者直接提供编译好的二进制库文件。 不过为了让读者能够更清楚如何安装,我们还是对每种语言的安装都做详细的讲解,你可以在安装列表里找到你感兴趣的语言的安装方法。 示例 如果你已经把 JS JSP ASP .NET J2AM 安装好了,那么接下来就让我们开始第一个小程序吧。按照惯例,第一个演示程序几乎总是 HelloWorld,我们也不想打破这个惯例,不过对于 PHPRPC 来说,有服务器端就要有客户端,否则我们就没有什么好演示的啦,所以我们的第一个演示程序实际上是两个,一个是服务器端,另一个是客户端。我们都先用 PHP 语言来写好了。 服务器端 view plaincopy to clipboardprint? <?php include ("php/phprpc_server.php"); function HelloWorld() { return 'Hello World!'; } $server = new PHPRPC_Server(); $server->add('HelloWorld'); $server->start(); ?> 客户端 view plaincopy to clipboardprint? <?php include ("php/phprpc_client.php"); $client = new PHPRPC_Client('http://127.0.0.1/server.php'); echo $client->HelloWorld(); ?> 对于服务器端程序,我们应该将它命名为 server.php(这是因为客户端调用时用的是这个名字,而不是 PHPRPC 的什么规定),然后把它放在本地 Web 服务器的根目录下,并保证服务器可以正常运行 PHP 程序,之后在浏览器或命令行下运行客户端程序,你就可以看到结果了。 这两个程序几乎简单到无需解释的地步,所以如果你已经明白它们的意思,那么就可以直接跳过下面的解释,继续看后面的例子。 服务器端第 1 句是将 它的服务器端程序包含到你的程序里,之后的 2 - 4 句是定义一个远程调用函数,你发现它与本地函数没有任何区别。第 5 句是创建服务器端对象,第 6 句是添加要发布的方法,这里添加的就是刚刚定义的 HelloWorld 函数,在 PHP ,添加的发布方法是函数名的字符表示,在其它语言可能略有不同。第 7 句是启动服务。 客户端就更简单了,第 1 句是将 它的客户端程序包含到你的程序里。第 2 句是创建客户端对象,其的参数就是服务器端的地址。第 3 句是对远程方法(函数)的调用,之后通过 echo 将它显示出来。如果顺利的话,执行后你就看到输出的 Hello World!。 上面的例子是发布的是函数,下面我们来看一下类的静态方法如何发布: view plaincopy to clipboardprint? <?php include ("php/phprpc_server.php"); class Hello { static function HelloWorld() { return 'Hello World!'; } } $server = new PHPRPC_Server(); $server->add('HelloWorld', 'Hello'); $server->start(); ?> 这个服务器端只要它的名字与发布的地址与上面那个发布函数的例子一样的话,上面的那个客户端就可以得到同样的结果,也就是说,在客户端看来是没有任何区别的。 它并不是只可以在 PHP 使用,它同样支持其它语言的服务器和客户端,而且还可以无差别的相互调用。 现在我们来看一下如何在 Java 调用这个 PHP 的服务器方法: view plaincopy to clipboardprint? import org.phprpc.*; interface IHello { public String helloWorld(); } public class HelloWorld
部分内容为: [.NET(C#)] ASP页面有时显示比较慢,因为服务器端代码是解释性的不是编译的. 由于ASP代码不是结构化的所以难于维护,加上ASP不支持错误处理和语法检查。 而ASP.NET页面是结构化的。每个页面都是一个继承了.NET类System.Web.UI.Page的类。 另外ASP.NET的后台编码功能允许进一步采用结构化的方式. 页面请求是和WEB服务器在编译后高速缓存ASP.NET页面。 [.NET(C#)] 覆盖(override)和重载(overload): 覆盖是指子类重新定义父类的虚函数的做法。 重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。 其实,重载的概念并不属于“面向对象编程”, 重载的实现是:编译器根据函数不同的参数表,对同名函数的名称做修饰 然后这些同名函数就成了不同的函数(至少对于编译器来说是这样的)。 如,有两个同名函数:function func(p:integer):integer; 和function func(p:string):integer;。 那么编译器做过修饰后的函数名称可能是这样的:int_func、str_func。 对于这两个函数调用,在编译器间就已经确定了,是静态的(记住:是静态)。 也就是说,它们的地址在编译期就绑定了(早绑定), 因此,重载和多态无关!真正和多态相关的是“覆盖”。 当子类重新定义了父类的虚函数后,父类指针根据赋给它的不同的子类指针,动态(记住:是动态!)的调用属于子类的该函数, 这样的函数调用编译期间是无法确定的(调用的子类的虚函数的地址无法给出)。 因此,这样的函数地址是在运行期绑定的(晚邦定)。 结论就是:重载只是一种语言特性,与多态无关,与面向对象也无关!
JS JSP ASP .NET J2AM API接口和返回的版本 目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 bat 文件(Windows 下使用),或者直接提供编译好的二进制库文件。 不过为了让读者能够更清楚如何安装,我们还是对每种语言的安装都做详细的讲解,你可以在安装列表里找到你感兴趣的语言的安装方法。 示例 如果你已经把 JS JSP ASP .NET J2AM 安装好了,那么接下来就让我们开始第一个小程序吧。按照惯例,第一个演示程序几乎总是 HelloWorld,我们也不想打破这个惯例,不过对于 PHPRPC 来说,有服务器端就要有客户端,否则我们就没有什么好演示的啦,所以我们的第一个演示程序实际上是两个,一个是服务器端,另一个是客户端。我们都先用 PHP 语言来写好了。 服务器端 view plaincopy to clipboardprint? <?php include ("php/phprpc_server.php"); function HelloWorld() { return 'Hello World!'; } $server = new PHPRPC_Server(); $server->add('HelloWorld'); $server->start(); ?> 客户端 view plaincopy to clipboardprint? <?php include ("php/phprpc_client.php"); $client = new PHPRPC_Client('http://127.0.0.1/server.php'); echo $client->HelloWorld(); ?> 对于服务器端程序,我们应该将它命名为 server.php(这是因为客户端调用时用的是这个名字,而不是 PHPRPC 的什么规定),然后把它放在本地 Web 服务器的根目录下,并保证服务器可以正常运行 PHP 程序,之后在浏览器或命令行下运行客户端程序,你就可以看到结果了。 这两个程序几乎简单到无需解释的地步,所以如果你已经明白它们的意思,那么就可以直接跳过下面的解释,继续看后面的例子。 服务器端第 1 句是将 它的服务器端程序包含到你的程序里,之后的 2 - 4 句是定义一个远程调用函数,你发现它与本地函数没有任何区别。第 5 句是创建服务器端对象,第 6 句是添加要发布的方法,这里添加的就是刚刚定义的 HelloWorld 函数,在 PHP ,添加的发布方法是函数名的字符表示,在其它语言可能略有不同。第 7 句是启动服务。 客户端就更简单了,第 1 句是将 它的客户端程序包含到你的程序里。第 2 句是创建客户端对象,其的参数就是服务器端的地址。第 3 句是对远程方法(函数)的调用,之后通过 echo 将它显示出来。如果顺利的话,执行后你就看到输出的 Hello World!。 上面的例子是发布的是函数,下面我们来看一下类的静态方法如何发布: view plaincopy to clipboardprint? <?php include ("php/phprpc_server.php"); class Hello { static function HelloWorld() { return 'Hello World!'; } } $server = new PHPRPC_Server(); $server->add('HelloWorld', 'Hello'); $server->start(); ?> 这个服务器端只要它的名字与发布的地址与上面那个发布函数的例子一样的话,上面的那个客户端就可以得到同样的结果,也就是说,在客户端看来是没有任何区别的。 它并不是只可以在 PHP 使用,它同样支持其它语言的服务器和客户端,而且还可以无差别的相互调用。 现在我们来看一下如何在 Java 调用这个 PHP 的服务器方法: view plaincopy to clipboardprint? import org.phprpc.*; interface IHello { public String helloWorld(); } public class HelloWorld { public static void main ( String [] args ) { PHPRPC_Client client = new PHPRPC_Client("http://127.0.0.1/server.php"); IHello clientProxy = (IHello)client.useService(IHello.class); System.out.println(clientProxy.helloWorld()); } } 当我们把这个例子编译之后,在命令行输入以下命令就可以看到执行结果了: java -classpath .;phprpc_client.jar HelloWorld 这个 Java 的客户端看上去比 PHP 的要稍微复杂一些,不过仍然很好理解。在 Java 客户端,我们使用了接口来描述远程方法,之后我们通过 useService 方法返回一个远程代理对象,该对象实现了我们定义的接口,之后我们就可以直接调用远程方法 helloWorld 了。如果你比较细心的话,你还发现我们在 PHP 定义的方法和在 Java 定义的接口的名字的大小写有点不同,但是仍然可以正常调用。是的,PHPRPC 发布的方法是不区分大小写的。所以不论你所使用的语言是否区分大小写,都可以按照自己(或语言)的习惯来定义方法名。 在本章的最后,我们再来看一下在 JavaScript 如何调用它的服务。顺便再强调一下,服务器端不止是可以用 PHP 来编写,你同样可以使用其它语言(比如 Java,.NET,Ruby,Python 等),这里我们只是以 PHP 为例而已。在这个例子你还看到如何使用加密传输。 view plaincopy to clipboardprint? <html> <head> <title>HelloWorld</title> [removed][removed] [removed] var client = new PHPRPC_Client('http://127.0.0.1/server.php', ['HelloWorld']); client.setEncryptMode(2); client.HelloWorld(function (result) { alert(result); }); [removed] </head> <body> </body> </html> 这个 JavaScript 是在网页运行的,这里建议大家要把 head 和 body 标签都写全,即使它们对你来说看上去没有什么用处,但是在有些浏览器,如果这些标签没有写全,或者写的不正确,程序就不能正确运行。 在这个例子,我们发现在创建 PHPRPC_Client 对象时,除了要写服务器地址以外,还要将远程方法的名字作为参数,因为远程方法可能不止一个,所以这个参数是数组类型的。 client.setEncryptMode(2); 这句是设置加密传输,参数 2 表示双向加密,就是参数和结果都加密(只不过这个 HelloWorld 比较特殊,它没有参数)。 接下来就是调用远程方法 HelloWorld 了,我们发现它跟 PHP 和 Java 客户端的调用不太一样。是的,在 JavaScript 远程调用都是采用异步方式的,也就是说要获得结果,需要用回调函数,回调函数作为远程方法的最后一个参数,回调函数也有四个参数,这里我们只使用第一个参数,也就是返回结果 result,通过 alert(result); 我们就可以在浏览器看到最后弹出的 Hello World! 提示框了。 通过上面的例子,我们已经看到在 PHP、Java 和 JavaScript 这三种语言使用 PHPRPC 都很简单,但因为语言的不同,在写法和用法上又有一些差别。不过你不用担心其它的语言跟它们也有很大的差别,因为在接下来的章节你很快就发现其它语言跟这上面三种语言实现的写法和用法上的相似或相同之处了。
3.ASP.NET 2.0 入门经典(第4版) [压缩包1/10] 原书名: Beginning ASP.NET 2.0 原出版社: Wrox 作者:(美)Chris Hart, John Kauffman [同作者作品] [作译者介绍] 译者: 张楚雄[同译者作品] 高猛 出版社:清华大学出版社 ISBN:7302133247 上架时间:2006-8-28 出版日期:2006 年8月 开本:185×260 页码:657 版次:4-1 内容简介回到顶部↑ASP.NET具有开发效率高、平台无关性、安全性强等方面的优势,广泛用于创建动态Web站点和基于Web的分布式应用程序,是广大Windows程序员开发Web应用程序的有效工具。ASP.NET 2.0在Web应用程序开发方面迈出了革命性的一步,新增了50多个服务器控件,类的数量也增加了一倍,其他许多方面也有很重大的变化。ASP.NET 2.0的目标是提高开发人员的效率、改善应用程序的性能和可伸缩性。. 本书全面介绍了ASP.NET 2.0的新特性和各方面的编程知识,是ASP.NET初学者以及想了解ASP.NET 2.0新技术的读者的理想参考书。该书从初版、1.0版、1.1版到现在的2.0版,内容更加完善,技术更加实用。.. 本书主要内容 ● 揭示了Visual Web Developer是构建功能丰富的ASP.NET2.0应用程序的理想环境 ● 保障Web站点的安全,提供登录功能和基于角色访问站点的内容 ● 利用ASP.NET 2.0的内置数据处理功能安全地更新数据的技巧 ● 轻松设计集式站点的特性 ● 向站点添加电子商务功能的技术 ● 增强应用程序性能的方法... 目录回到顶部↑ 第1章 ASP.NET 2.0和Wrox United 应用程序简介 1. 1.1 将要创建的站点 2 1.2 ASP.NET 2.0-- 创建动态Web站点的强大工具 4 1.3 Web站点常见任务的简单解决方案 4 1.3.1 一致性和个性化 5 1.3.2 导航 5 1.3.3 登录、安全和角色 5 1.3.4 连接数据 5 1.3.5 代码 6 1.3.6 组件化 6 1.3.7 Web服务 6 1.3.8 性能和缓存 6 1.3.9 错误和异常处理 7 1.3.10 部署 7 1.3.11 部署工具 7 1.4 ASP.NET 2.0与其他技术相融合的地方 8 1.5 Wrox United应用程序 9 1.6 开始设计Wrox United站点 10 1.7 VWD Express-- 开发环境 10 .1.7.1 Cassini 11 1.7.2 VWD的Solution Explorer 11 1.7.3 使用VWD创建、打开和使用Web站点及页面 13 1.7.4 示例代码目录 14 1.7.5 运行页面 16 1.7.6 设计区 17 1.7.7 工具箱 18 1.7.8 属性窗口 20 1.7.9 错误列表窗口 21 1.7.10 VWD的数据库浏览器 24 1.8 本章小结 24 1.9 练习 25 第2章 站点设计 27 2.1 总体设计目标 27 2.2 Master和Content页面 28 2.2.1 创建Master页面 29 2.2.2 创建Content页面 31 2.2.3 Master和Content页面的示例 32 2.2.4 在Master页面使用级联样式表 33 2.3 Master页面的其他功能 38 2.3.1 多层次的Master页面 39 2.3.2 Master页面支持多个内容占位符 40 2.4 创建站点地图 41 2.5 站点设计的基本原则 44 2.6 ASP.NET 2.0应用程序的标准文件 44 2.6.1 Web.config包含整个站点的设置 45 2.6.2 Global.asax包含整个站点都可以使用的代码 49 2.6.3 通过Web浏览器编辑站点配置 49 2.7 排查站点设计的错误 52 2.8 本章小结 52 2.9 练习 53 第3章 页面设计 55 3.1 静态页面设计 55 3.2 HTML 62 3.3 动态内容 67 3.4 服务器端控件 69 3.4.1 服务器控件工具箱 69 3.4.2 服务器控件 70 3.4.3 VWD的Source View 74 3.5 服务器控件的类型 79 3.5.1 标准控件 79 3.5.2 HTML控件 80 3.5.3 导航控件 82 3.6 本章小结 94 3.7 练习 95 第4章 成员关系和身份验证 97 4.1 安全基础知识 97 4.1.1 身份——我是谁 97 4.1.2 身份验证——这就是我 98 4.1.3 授权——这是我能做的 98 4.1.4 登录站点 98 4.2 ASP.NET安全性 99 4.2.1 Login控件 99 4.2.2 个性化 109 4.2.3 成员关系 111 4.2.4 身份验证 116 4.3 Wrox United的安全性 118 4.4 本章小结 121 4.5 练习 122 第5章 用主题设置样式 123 5.1 为站点设置样式 123 5.1.1 style属性 124 5.1.2 CSS-- 级联样式表 127 5.1.3 主题 136 5.1.4 设置站点级别的样式 152 5.2 Wrox United的主题 154 5.3 样式和布局的最佳实践 159 5.3.1 可用性 159 5.3.2 可访问性 159 5.4 本章小结 160 5.5 练习 161 第6章 事件和代码 163 6.1 Web服务器体系结构 163 6.2 服务器端事件 165 6.3 为页面添加事件 166 6.3.1 回送结构 171 6.3.2 可用的事件 172 6.3.3 选择应该使用的事件 173 6.4 不只是能被用户触发的事件 176 6.5 间接事件 180 6.6 取消事件 182 6.7 全局事件 185 6.8 本章小结 186 6.9 练习 186 第7章 读取数据 187 7.1 数据库 187 7.2 使用ASP.NET 2.0的数据控件 188 7.2.1 数据源控件 189 7.2.2 数据绑定控件 190 7.2.3 数据源控件和数据绑定控件相配合 193 7.2.4 使用VWD配置数据控件 194 7.3 数据源控件 194 7.3.1 数据源控件的基本属性 194 7.3.2 隐藏连接字符 198 7.3.3 连接字符和提供商 199 7.4 数据绑定控件 200 7.4.1 数据绑定选项列表 200 7.4.2 GridView控件 206 7.4.3 DataList和Repeater控件 211 7.4.4 DetailsView和FormView控件 218 7.5 带有参数的数据源控件 222 7.6 多个数据控件一起工作 226 7.7 XML数据 232 7.8 绑定语法 236 7.9 本章小结 236 7.10 练习 237 第8章 写入数据 239 8.1 写入数据的简介 239 8.1.1 写入数据的控件选择 240 8.1.2 DataKeyNames 240 8.2 修改已存在的记录 241 8.3 添加新记录 246 8.4 删除记录 249 8.5 上传图片 252 8.6 改善图片上传功能 255 8.7 本章小结 260 8.8 练习 261 第9章 代码 263 9.1 变量和数据类型 263 9.1.1 Common Language Runtime类型 264.. 9.1.2 声明变量 265 9.1.3 赋值 266 9.1.4 数据转换 267 9.1.5 空(Null)值 268 9.1.6 使用字符 269 9.1.7 使用日期 271 9.1.8 使用数组和集合 274 9.1.9 决定使用数组还是使用集合 280 9.1.10 枚举 280 9.1.11 常量 282 9.2 语句 282 9.2.1 运算符 283 9.2.2 判断 289 9.2.3 循环 292 9.3 命名空间 300 9.4 使用类 301 9.4.1 创建类 302 9.4.2 继承 310 9.5 变量的作用域和生存期 316 9.6 泛型 317 9.7 本章小结 318 9.8 练习 319 第10章 组件化 321 10.1 代码与内容的分离 322 10.2 代码与设计的分离 323 10.3 后台代码 323 10.3.1 Page指令 324 10.3.2 不完全类 324 10.3.3 事件处理程序/函数 325 10.4 创建后台代码文件 326 10.4.1 ASP.NET 2.0编译 328 10.4.2 App_Code文件夹 329 10.5 数据层 330 10.5.1 两层应用程序 330 10.5.2 三层应用程序 330 10.5.3 ASP.NET 2.0的新特性 331 10.5.4 Wrox United Object DataSource 337 10.6 用户控件 339 10.6.1 用户控件结构 341 10.6.2 简单的用户控件 342 10.6.3 Wrox United News用户控件 346 10.7 合成控件 351 10.8 程序集和自定义服务器控件 351 10.9 本章小结 351 10.10 练习 352 第11章 角色和配置文件 353 11.1 角色的重要性 353 11.2 Wrox United角色的介绍 355 11.3 配置页面级别的授权 364 11.4 在代码使用角色 372 11.5 启用用户配置文件 373 11.6 构建配置文件 374 11.6.1 Wrox United的配置文件 375 11.6.2 存储首选项 384 11.7 管理匿名购物车 390 11.8 本章小结 391 11.9 练习 392 第12章 Web服务 393 12.1 查看Web服务 394 12.2 Web服务的生存期 398 12.2.1 调用Web服务 399 12.2.2 传送Web服务 399 12.2.3 返回响应 401 12.2.4 使用响应 403 12.3 Web服务的结构 403 12.3.1 处理指令 403 12.3.2 命名空间 403 12.3.3 公有类 404 12.3.4 Web方法 404 12.4 创建Web服务 406 12.5 测试Web服务 409 12.6 Web服务的发现 411 12.6.1 DISCO 412 12.6.2 UDDI 412 12.6.3 发现Web服务 413 12.7 向应用程序添加比赛时间服务 415 12.8 综合整理 417 12.9 远程Web服务—— PocketPC 应用程序 422 12.10 Web服务的安全性 426 12.10.1 加密和基于消息的安全性 427 12.10.2 服务的身份验证和访问控制 427 12.11 本章小结 427 12.12 练习 428 第13章 电子商务 429 13.1 电子商务流水线 430 13.2 产品目录 430 13.2.1 目录的结构 430 13.2.2 目录的设计 431 13.2.3 目录的实现 432 13.2.4 产品项页面 438 13.3 购物车 443 13.3.1 购物对象 443 13.3.2 配置文件 452 13.3.3 购物车控件 454 13.4 结账 466 13.4.1 订单处理 466 13.4.2 登录 467 13.4.3 地址/递送详情 467 13.4.4 信用卡处理 467 13.4.5 计划结账 469 13.5 安全事务 482 13.6 其他工作 483 13.7 本章小结 483 13.8 练习 484 第14章 性能 485 14.1 简单的技术 485 14.1.1 对象处理 486 14.1.2 数据库连接 489 14.1.3 存储过程 489 14.1.4 强类型的集合 498 14.1.5 话状态 499 14.1.6 视图状态 499 14.2 页面和代码 500 14.2.1 数据绑定和回送 501 14.2.2 对象引用 501 14.2.3 StringBuilder与字符拼 接的对比 502 14.2.4 挑选正确的集合 503 14.3 缓存 504 14.4 性能设计 509 14.5 测试性能 510 14.5.1 跟踪 511 14.5.2 压力测试工具 513 14.5.3 性能监控 513 14.6 本章小结 513 14.7 练习 514 第15章 错误处理 515 15.1 防御性编码 515 15.1.1 参数检查 516 15.1.2 避免假设 517 15.1.3 查询参数 518 15.1.4 验证 519 15.2 异常处理 524 15.2.1 异常简介 524 15.2.2 Exception对象 525 15.2.3 如何捕获异常 526 15.2.4 记录异常 532 15.2.5 邮寄异常 535 15.2.6 引发异常 537 15.3 异常最佳实践 537 15.4 全局异常处理 538 15.5 自定义错误页面 540 15.6 调试和跟踪 542 15.6.1 使用ASP.NET跟踪 542 15.6.2 使用调试器 546 15.7 本章小结 552 15.8 练习 552 第16章 部署、构建和结束 553 16.1 站点部署 553 16.1.1 检验表 554 16.1.2 编译和运行应用程序 554 16.1.3 发布站点 556 16.1.4 XCOPY部署 559 16.1.5 在部署站点时遇到的常见 问题 561 16.2 测试和维护 564 16.2.1 前面的测试 564 16.2.2 维护 565 16.3 接下来的工作 571 16.4 参考站点 572 16.5 本章小结 572 16.6 练习 573 附录A 练习题答案 575 附录B 配置 601 附录C Wrox United数据库设计 615 附录D VWD Database Explorer 623 附录E CSS和HTML快速参考 639...

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧