随笔分类 -  ASP.NET

ASP.NET AJAX(服务器控件 UpdatePanel、Timer、UpdateProgress)
摘要:ASP.NET AJAX 对 Web 服务特性为客户端代码访问服务器提供了一个可贵的窗口。但你要做大多数的困难任务,必须精心打造 Web 方法、合适的时机调用它们、适当更新页面、除了 JavaScript 什么都不能用。对于复杂的呈现,这个过程就十分单调。 由于这个原因,ASP.NET 提供了一个更高层的服务器模型,它提供可以直接在 Web 窗体里使用的控件和组件,你可以完全使用服务器端代码工作。 ASP.NET AJAX 控件会自动注入客户端脚本,在幕后使用 ASP.NET AJAX 脚本库。与手动编写 js 代码相比,潜在的缺点是降低了灵活性。 在这篇文章里,我将介绍 ASP.NET 框. 阅读全文

posted @ 2013-01-06 14:59 SkySoot 阅读(6693) 评论(1) 推荐(1) 编辑

ASP.NET AJAX(服务器回调)
摘要:如果只用纯粹的 js ,你必须弥补 ASP.NET 服务器端抽象和有限的 HTML DOM 之间的鸿沟,这不简单,没有 VS 的智能提示和调试工具,编写无错的代码和诊断错误都非常困难。由于各种突发事件及实现的差异,编写能够在所有现代浏览器上都正确运行的脚本代码更是一项很大的挑战。 ASP.NET 的客户端回调机制部分解决了这类问题,它们提供一个服务器端模型,让你能够生成某些需要的客户端代码(使用 XMLHttpRequest 对象执行异步请求的代码)。但这个模型还很不完美,接口略显笨拙,和页面模型的整合不太平滑且没有数据类型。你必须自行把传输信息序列化为字符串,还必须编写 js 代码来接收回. 阅读全文

posted @ 2012-12-25 16:22 SkySoot 阅读(2112) 评论(0) 推荐(0) 编辑

JavaScript And Ajax(深入了解客户端回调)
摘要:有必要指出,执行回调时目标页面实际上开始执行修改的生命周期。大多数控件事件不会执行,但 Page.Load 和 Page.Init 事件处理程序会执行。Page.IsPostBack 属性将返回 true,但检查 Page.IsCallback 属性可区分回调还是回传。 当前客户端回调实现的唯一问题是编程接口还非常简单,特别是它要求只能使用字符串交换信息。现在 A... 阅读全文

posted @ 2012-12-21 16:09 SkySoot 阅读(362) 评论(0) 推荐(1) 编辑

JavaScript And Ajax(在客户端回调中使用 Ajax)
摘要:采用 Ajax 的方式,可以创建令人印象深刻、高度响应的网页。然而,编写客户端代码非常耗时。VS 不能为之提供丰富的设计体验,也没有调试工具追踪那些松散的 js 语言中不可避免的错误;甚至你成功完成了工作,还要在各种浏览器上进行测试,除非你非常熟悉各种浏览器对 js 支持的微小差别。 由于这些原因,许多开发人员不手工编写客户端脚本,甚至在设计 Ajax 风格的页面时也... 阅读全文

posted @ 2012-12-21 13:16 SkySoot 阅读(862) 评论(0) 推荐(0) 编辑

JavaScript And Ajax(理解 Ajax)
摘要:开发人员使用 js 代码的另一个主要原因是避免回传。考虑 TreeView 控件,用户能随意展开或收合节点。展开节点时,TreeView 通过 JavaScript 从服务器获取子节点的信息并插入新节点。没有 JavaScript,页面就只能回传以重建 TreeView。用户会看到略微缓慢的延迟,页面甚至可能重新滚动回到开始,在服务器端需要浪费大量时间序列化和反序列化每个回传的视图状... 阅读全文

posted @ 2012-12-20 15:56 SkySoot 阅读(490) 评论(0) 推荐(0) 编辑

JavaScript And Ajax(框架)
摘要:框架能够在同一个浏览器窗口中显示多个 HTML 文档,可用于那些在页面上保持可见的导航控件(如带链接的菜单),还能让你能够独立的滚动内容框架,同时保持导航控件的位置固定不变。 在现代网站设计里,框架被认为已经过时了。它有一系列的缺点: 缺乏对各种屏幕尺寸和设备(如手机)的良好支持。 浏览的 URL 反映了框架页面,但不能提供每个框架加载的文件的任何信息。... 阅读全文

posted @ 2012-12-19 16:08 SkySoot 阅读(340) 评论(0) 推荐(0) 编辑

JavaScript And Ajax(带有 js 的控件)
摘要:JavaScript 在很多高级 Web 控件里起着很重要的作用,服务器端的面向对象编程和客户端的 js 修饰,可以使你两全其美。 弹出窗口 弹出窗口是 Web 最扰人的特性之一。通常,它们派发广告,但有时也会出于正当的目的提供有用的信息,或邀请用户参加调查和促销。一个相关的变体是跃出式(pop-under)窗口,它在当前窗口下面显示一个新窗口。 ... 阅读全文

posted @ 2012-12-19 14:40 SkySoot 阅读(1505) 评论(0) 推荐(0) 编辑

JavaScript And Ajax(呈现脚本块、脚本注入攻击)
摘要:呈现脚本块 目前为止的 js 都是直接插入页面 .aspx 部分的静态 <script> 块。然而,使用公开 ClientScriptManager 对象的 Page.ClientScript 属性呈现脚本通常更加灵活。 ClientScriptManager 提供了几个管理脚本块的有用方法,其中两个最有用的方法如下: RegisterClientScrip... 阅读全文

posted @ 2012-12-17 18:03 SkySoot 阅读(5489) 评论(0) 推荐(0) 编辑

JavaScript And Ajax(JavaScript 基本示例)
摘要:这里通过一个示例,演示使用 js 为费时的页面改善用户体验。 创建 JavaScript 页面处理器 多少次单击网页后,只看到 IE 的那个小球不停的转动,好像永不停息?是你的因特网连接速度下降了吗?和后端系统的连接有错误了吗?系统比较慢?这些问题通常会使新的基于 Web 的解决方案变得复杂。 遇到这种情况,应向用户提供进度信息,让他们知道系... 阅读全文

posted @ 2012-12-17 14:58 SkySoot 阅读(632) 评论(0) 推荐(0) 编辑

JavaScript And Ajax(JavaScript 本质)
摘要:ASP.NET 提供了一个基于服务器的富编程模型,这种回传架构能够在服务器端用面向对象程序设计语言完成所有工作。可以确保代码更安全并且能够和所有浏览器兼容。 不过,回传架构也有缺点。页面回传总是带来微小但确实可感觉得到的额外负载,它不能及时响应鼠标移动和按键事件。此外,某些任务(如弹出窗口、提供实时状态信息、框架间通信)需要浏览器的交互,不可能通过服务器端编程完成。 ... 阅读全文

posted @ 2012-12-14 16:45 SkySoot 阅读(1043) 评论(0) 推荐(1) 编辑

图形、GDI + 和图表(Chart 控件)
摘要:创建图表是最常见的图形任务。ASP.NET Chat 控件提供了众多的图表类型和配置选项。对于 ASP.NET 3.5 SP1,Chart 控件可以下载使用,4.0 中已经包括了。 Chart 控件有众多不同特性及选项,这里不可能全面讲述。如果需要一整套示例,可参考 http://code.msdn.microsoft.com/mschart 的示例代码库,它包含了 ... 阅读全文

posted @ 2012-12-13 16:45 SkySoot 阅读(6324) 评论(0) 推荐(1) 编辑

图形、GDI + 和图表(在网页上嵌入动态图形)
摘要:使用 Image.Save()方法将一个图像保存到一个响应流时,会覆盖所有 ASP.NET 要用到的控件。这有一个解决方案,可以使用 HTML 的 <img> 标签或者 Image Web 控件来链接到一个生成动态图像的 .aspx 文件。 创建 GDI+ 图像通常比提供一个静态图像慢一个数量级,因此,使用 GDI+ 多次重复绘制图形按钮或其他元素绝不是一个好主意。(... 阅读全文

posted @ 2012-12-11 18:06 SkySoot 阅读(1987) 评论(0) 推荐(0) 编辑

图形、GDI + 和图表(使用 GDI+ 画图)
摘要:GDI+ 是一种通用的面向对象的 .NET 应用程序绘图模型。GDI+ 在 .NET 里有很多用途,包括向打印机输出文档、在一个 Windows 应用程序里显示图形、以及在网页里呈现图形。 你可以创建采用了用户指定信息的富图形,也可以基于数据库记录动态呈现图表或图形。 GDI+ 编程的核心是 System.Drawing.Graphics 类。它封装了... 阅读全文

posted @ 2012-12-07 17:46 SkySoot 阅读(6039) 评论(0) 推荐(1) 编辑

图形、GDI + 和图表(ImageMap)
摘要:ImageMap 控件 网页通常包含复杂的图形,当单击图形的不同部分时,会有不同的行为。ASP.NET 开发人员能够使用多种技巧来实现这个设计: 拼接的图像控件。当多个无边界的图像一张挨一张仔细的定位后,看起来就像是一幅图。于是,你可以分别处理每一个控件的单击,这种方式对于已经定义矩形边界的按钮和导航控件很有效。 ImageButton 。当 ImageButton ... 阅读全文

posted @ 2012-12-06 15:33 SkySoot 阅读(1091) 评论(0) 推荐(0) 编辑

自定义服务器控件(扩展现有 Web 控件)
摘要:很多情况下,你并不需要从头开始创建一个新控件。有些功能也许在 ASP.NET 的 Web 控件的基本集合中已经存在了。所有这些控件都是普通类,你可以组合它们(使用其他类的实例来创建一个新类)或者继承它们(扩展一个现存类和改变它的功能来创建一个新类)。 组合控件 ASP.NET 提供了这样一个功能,即允许你从其他现存的 Web 控件构建你的控件类。 ... 阅读全文

posted @ 2012-12-05 17:52 SkySoot 阅读(472) 评论(0) 推荐(1) 编辑

自定义服务器控件(控件状态和事件)
摘要:ASP.NET 使用 Web 控件在 HTTP 和 HTML 的底层细节之上创建了一个面向对象的抽象层。这个抽象的两个基础是视图状态(多次请求之间保存信息的机制)和回传(使页面把表单数据集合回传到相同 URL 的技术)。视图状态 控件需要保存状态信息,就像网页所做的那样。所有的控件都提供了 ViewState 属性来让你存取信息,就像你对一个网页所做的那样。在一次回传之后,你需要使用 ViewState 集合来恢复私有信息。 一个常用的 Web 控件设计模式是:在属性过程中访问 ViewState 集合。 以我们前面所说的 LinkWebControl 为例,那个控件不使用视图状态,如果通过. 阅读全文

posted @ 2012-12-04 15:11 SkySoot 阅读(2236) 评论(0) 推荐(3) 编辑

自定义服务器控件(处理不同的浏览器)
摘要:不同的浏览器所支持的功能大相径庭,要创建一个兼容所有浏览器,又提供最好的用户体验的应用程序是一项很大的挑战。ASP.NET 提供了一些新的功能来帮助你为不同的设备编写正确的标记类型。 HtmlTextWriter ASP.NET 对客户端的标记类型作了一个大致的区分,因此有的客户端见到 HTML 3.2,有的见到 HTML 4.0,而有的见到 XHTML 1.... 阅读全文

posted @ 2012-11-28 14:47 SkySoot 阅读(1010) 评论(0) 推荐(1) 编辑

自定义服务器控件(入门)
摘要:每一种自定义控件都有它的优缺点。以前曾介绍过用户控件。用户控件比自定义服务器控件更容易创建,但服务器控件的功能更强大。 服务器控件在两个方面比用户控件强得多: 服务器控件允许完全控制所生成的 HTML 服务器控件提供更好的设计时支持 所有的 ASP.NET Web 控件都是服务器控件。现在,你将学会如何创建自己的服务器控件。 ... 阅读全文

posted @ 2012-11-22 16:45 SkySoot 阅读(1648) 评论(0) 推荐(0) 编辑

网站导航(Menu 控件)
摘要:Menu 是另一个支持层次化数据的富控件。它可以绑定到数据源(声明性的)或编程使用 MenuItem 对象来填充。 MenuItem 类不像 TreeNode 类那样丰富,它不支持复选框,也不能通过编程设置它们的 折叠/展开 状态。不过,它们也有很多相似的属性,包括那些用于设置图片、确定条目是否可选以及指定目标链接的属性。 MenuItem 的属性: ... 阅读全文

posted @ 2012-11-13 16:03 SkySoot 阅读(5403) 评论(0) 推荐(0) 编辑

网站导航(TreeView 控件)
摘要:TreeView 是让人印象最深刻的导航控件之一,不仅因为它允许呈现富树视图,还因为它支持按需填入树的部分(不需要刷新整个页面)。但最重要的是,它支持很多样式来改变它的外观。 通过几个基本的属性,可以把 TreeView 从一个帮助主题索引变成一个文件或文件夹目录列表。实际上,TreeView 根本不必呈现为一棵树,通过一点点样式设置,它可以呈现非缩进层次的数据,比如... 阅读全文

posted @ 2012-11-09 17:58 SkySoot 阅读(3632) 评论(0) 推荐(2) 编辑

导航