#眉標= ASP.NET 2.0
#副標=Ajax網頁開發(3)
#大標=使用Microsoft Atlas開發Ajax風格的網頁(上)
#作者=文/王寧疆
=============程式=============
程式1
<%@ Page Language="VB" AutoEventWireup="false"
CodeFile="Default.aspx.vb" Inherits="_Default" %>
=============程式=============
=============程式=============
程式2
Type.registerNamespace("Demo");
//註冊名稱為Demo的名稱空間
Demo.Person = function(firstName, lastName, alias)
//建立名稱為Person的類別,以及類別的建構函式,
//並放在Demo名稱空間底下
{
var _firstName = firstName;
//將傳給建構函式的firstName參數的內容值
//指挀給類別宣告的變數
var _lastName = lastName;
//將傳給建構函式的lastName參數的內容值
//指挀給類別宣告的變數
this.getFirstName = function() {
//在類別中製作名稱為getFirstName的方法
return _firstName;
//傳回名稱為_firstName的變數的內容值
}
}
Type.registerClass('Demo.Person', null, Web.IDisposable);
//註冊製作好的Person類別,
//並指定要放在Demo名稱空間底下
=============程式=============
=============程式=============
=============程式=============
=============程式=============
程式3
使用Demo名稱空間中的Person類別
=============程式=============
=============程式=============
程式4
=============程式=============
=============程式=============
程式5
Demo.Employee =
function(firstName, lastName, emailAddress, team, title) {
//建立名稱為Employee的類別
Demo.Employee.initializeBase
(this, [firstName, lastName, emailAddress]);
//呼叫基礎類別的建構函式
var _team = team; //將team參數的內容值指派給類的變數
var _title = title; //將title參數的內容值指派給類的變數
this.getTeam = function() { //製作gteTeam方法
return _team; //傳回_team變數的內容值
}
}
Type.registerClass('Demo.Employee', Demo.Person);
//註冊Employee類別並指定Person類別為父類別
=============程式=============
=============程式=============
程式6
Type.registerNamespace("Demo");
Demo.IVehicle = function() {
//宣告名稱為IVehicle的介面
this.Drive = Function.abstractMethod;
//宣告名稱為Drive方法
}
Type.registerInterface('Demo.IVehicle');
//在Demo名稱空間中註冊IVehicle介面
Demo.Car = function() {
//建立名稱為Car的類別
this.Drive = function() {
//實作介面宣告的Drive方法
return "drive car";
//傳回字串
}
}
Type.registerClass('Demo.Car', Demo.IVehicle);
//註冊Car類別,並指定要實作IVehicle介面
=============程式=============
=============程式=============
…
=============程式=============
=============程式=============
程式7
=============程式=============
=============程式=============
g_panel = new Web.UI.Control($('panel'));
=============程式=============
=============程式=============
g_panel = new Web.UI.Control
(document.getElementById('panel'););
=============程式=============
==========程式=============
…
=============程式=============
=============程式=============
程式8
=============程式=============
=============程式=============
程式9
=============程式=============
=============程式=============
程式10
=============程式=============
=============程式=============
…
=============程式=============
=============程式=============
程式11
=============程式=============
=============程式=============
程式12
=============程式=============
=============程式=============
=============程式=============
=============程式=============
程式13
var textBoxNumber = new Web.UI.TextBox($(
'textBoxNumber'));
//將網頁上id屬性內容值為'textBoxNumber'
//的標籤建立成Atlas的TextBox控制項
var spanLabel = new Web.UI.Label(
$('spanLabel'));
//將網頁上id屬性內容值為'spanLabel
//'的標籤建立成Atlas的Label控制項
textBoxNumber.set_text("0");
//將textBoxNumber控制項的內容值設定為0
var binding_3 = new Web.Binding();
//建立Binding類別的物件
binding_3.set_dataContext(textBoxNumber);
//設定繫結的控制項對象為textBoxNumber
binding_3.set_dataPath('text');
//設定繫結的屬性為textBoxNumber控制項的text屬性
binding_3.set_property('text');
//當所繫結的控制項的text內容值改變的時候要將
//所繫結的控制項的text屬性的內容
//指派給自己的text屬性當做內容值
binding_3.set_transformerArgument(5);
//設定資料繫結的參數的內容值為5
binding_3.transform.add(Web.Binding.Transformers.Add);
//進行資料繫結時要將來源資料加上參
//數的內容值再設定給目標控制項指定的屬性
spanLabel.get_bindings().add(binding_3);
//將製作好的Binding類別的物件
//加到spanLabel控制項的Bindings集合,
//完成資料繫結的設定
=============程式=============
=============程式=============
=============程式=============
=============程式=============
程式14
=============程式=============
=============程式=============
程式15
=============程式=============