ASP.NET AJAX客户端编程之旅(五)——以组件的思想开发Ajax应用:行为、绑定及xml-script
初识行为组件
行为组件一词中的“行为”是从单词Behavior直译过来的。但是我个人认为,就其作用来说,应该叫“属性赋予组件”更合适一点。因为行为组件实际的作用是:为某一控件赋予某种属性。例如ClickBehavior是为某个控件添加“具有单击事件”这个属性,而OpacityBehavior则是为控件添加“透明显示”这一属性。所以,我各人觉得行为组件和“行为”关系不大,而主要是“属性赋予”。
行为组件发威-让DIV可以被Click
我们知道,div元素是没有onclick事件的,如果您的某个程序需要在单击某个div时产生一个事件,那肯定是要大费一番周折。而ASP.NET AJAX的ClickBehavior组件可以让我们轻松做到这一点。废话不多讲,直接看Demo。
我们要做这么一个例子:在页面中有一个DIV,当单击此DIV时,将使用alert语句弹出一个提示框,程序运行效果如下图:
下面贴一下具体代码然后再做分析:
Default.aspx:
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml">
5<head runat="server">
6 <title>Untitled Page</title>
7</head>
8<body>
9 <form id="form1" runat="server">
10 <asp:ScriptManager ID="ScriptManager1" runat="server">
11 <Scripts>
12 <asp:ScriptReference Assembly="Microsoft.Web.Preview" Name="PreviewScript.js" />
13 <asp:ScriptReference Path="~/ajax.js" />
14 </Scripts>
15 </asp:ScriptManager>
16 <div>
17 <div id="clickme">
18 <h1>点击我!!!</h1>
19 </div>
20 </div>
21 </form>
22</body>
23</html>
ajax.js:
1var lblClickMe;
2var behaviorClickMe;
3
4Sys.Application.add_init(onPageInit);
5
6function onPageInit()
7{
8 lblClickMe=new Sys.Preview.UI.Label($get("clickme"));
9 lblClickMe.initialize();
10 behaviorClickMe=new Sys.Preview.UI.ClickBehavior($get("clickme"));
11 behaviorClickMe.initialize();
12 behaviorClickMe.add_click(lblClickMe_onClick);
13}
14
15function lblClickMe_onClick()
16{
17 alert("我被点击了!!!");
18}