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}