添加ASP.NET其他的AJAX技术

开发 后端
本文介绍添加ASP.NET其他的AJAX技术,以及介绍如何添加一些脚本并把它添加到我们的示例程序的UI中创建其他基于AJAX的交互而生成的HTML。

添加ASP.NET其他的AJAX技术

我们完全可以实现类似于包含在TaskView.ascx中的<form>部分。而且,我们同样可以其中描述每一个任务项,但是却能够把一个常规的基于提交的表单转换成一个支持AJAX技术的表单。这样以来,任务项的编辑与删除操作就可以在局部刷新状态下实现。示例代码中对此作了解释,在此不再赘述。

接下来,我想介绍的是如何添加一些脚本并把它添加到我们的示例程序的UI中创建其他基于AJAX的交互而生成的HTML。具体地说,我想在文本框中添加一个水印效果,此效果为用户输入提供了极为友好的用户直观性提示。只要没有用户输入,此水印效果就会显示出来,而当用户把输入焦点定位于文本框中时即水印效果消失。

当然,篇幅所限,我们也不会过于细致地去讨论脚本本身。有关此脚本详细内容,请参考本文源码,但是需要指出的是这个水印效果被实现为大家可能熟悉的ASP.NET AJAX框架的一个客户端行为(Behavior)组件。就像任何其他行为组件一样,我们的示例中所使用的文本框也是与DOM元素相关联,而且它实现了对此元素引发的相关事件的订阅。

在传统的web表单页面中,我经常会直接使用支持AJAX功能的服务器控件,例如WatermarkExtender,并使之关联到一个服务器控件。但是,在本例中,我使用了另一种扩展方法来实现渲染效果。通过此方法,我也可以实现创建并初始化脚本行为组件的一个实例。下面给出了我更新以后的视图关键部分的代码片断:

  1. <% RenderBeginAjaxForm(Url.Action("Add"),  
  2. new { Update="taskList, UpdateType="appendBottom",  
  3. Highlight="True",  
  4. Starting="startAddTask"Completed="endAddTask" }); %> 
  5. <input type="text" name="name" id="nameTextBox" /> 
  6. <% Ajax.Watermark("nameTextBox",  
  7. new { watermarkText="[What do you need to do?]",  
  8. watermarkCssClass="watermark"}); %> 
  9.  
  10. <input type="submit" name="addTask" value="Add Task" /> 
  11. <% RenderEndForm(); %> 

上面的扩展方法实现相当简单。其实,它也就是调用了现成的AJAX框架。下面是我定义的WatermarkBehavior类相应的代码:

  1. public static class WatermarkBehavior {  
  2. public static void Watermark(this AjaxHelper ajaxHelper,
    string id, object watermarkOptions) {  
  3. ajaxHelper.RegisterScript("~/Views/Scripts/Watermark.js");  
  4. ajaxHelper.RegisterScriptBehavior(id, "Ajax.Watermark", watermarkOptions);  
  5. }  

当然,我们还可以更细致地控制上面的编码,但这里仅展示了提供搜集注册的脚本功能核心部分的代码片断,以及把它们生成到页面中,然后实例化行为对象,并使其与相应的DOM元素建立关联,以及传递进视图提供的选择以便定制具体的实例介绍添加ASP.NET其他的AJAX技术。

【编辑推荐】

  1. ASP.NET MVC Web应用程序工程
  2. IIS6的ASP.NET ISAPI请求处理过程
  3. ASP.NET控件的七种用户管理相关控件
  4. 对ASP.Net进行RSA加密
  5. ASP.NET得到数据库字符串的方法
责任编辑:佚名 来源: IT168
相关推荐

2009-07-22 16:05:34

ASP.NET AJA

2009-07-24 13:41:15

ASP.NET AJA

2009-07-22 16:11:43

ASP.NET AJA

2009-07-22 16:25:41

ASP.NET AJA

2009-07-22 16:17:39

ASP.NET AJA

2009-07-20 17:39:36

WCF服务ASP.NET AJA

2009-07-20 13:14:25

安装ASP.NET A

2009-07-29 13:50:26

UpdatePanelASP.NET

2009-07-20 10:16:13

配置ASP.NET A

2009-07-28 09:02:32

asp.net aja

2009-07-22 15:58:52

ASP.NET AJA

2009-07-31 13:24:43

ASP.NET AJA

2009-07-24 17:43:35

循环引用ASP.NET AJA

2009-07-27 09:07:04

Profile SerASP.NET AJA

2009-07-21 09:53:55

ASP.NET AJAWCF服务

2009-07-20 17:59:07

JavaScript调ASP.NET AJA

2009-08-07 16:09:25

ASP.NET AJA

2009-07-20 13:54:31

ScriptManagASP.NET AJA

2009-07-21 17:18:26

UpdateProgrASP.NET AJA

2009-07-29 15:53:22

ASP.NET AJA
点赞
收藏

51CTO技术栈公众号