Subversion-Projekte lars-tiefland.prado

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<com:TContent ID="body">
2
<!-- $Id: ActiveButton.page 1817 2007-03-31 23:36:00Z wei $ -->
3
<h1 id="122026">TActiveButton</h1>
4
<com:DocLink ClassPath="System.Web.UI.ActiveControls.TActiveButton" />
5
 
6
<p id="610410" class="block-content"><tt>TActiveButton</tt> adalah kontrol aktif selain
7
<a href="?page=Controls.Button">TButton</a>.
8
Ketika <tt>TActiveButton</tt> diklik pada permintaan postback normal, permintaan callback yang diinisiasi. Event <tt>OnCallback</tt> dimunculkan selama permintaan callback dan dimunculkan <strong>setelah</strong> event <tt>OnClick</tt>.
9
</p>
10
 
11
<p id="610411" class="block-content">Ketika properti <tt>ActiveControl.EnableUpdate</tt> adalah true,
12
mengubah properti <tt>Text</tt> selama permintaan callback akan memutakhirkan
13
judul tombol pada sisi-klien.</p>
14
 
15
<p id="610412" class="block-content">Karena event <tt>OnCallback</tt> hanya dimunculkan selama permintaan callback, pengendali event <tt>OnCallback</tt> bisa dipakai untuk menangani logika terutama yang terkait dengan permintaan callback. Pengendali event <tt>OnClick</tt> dimunculkan kapan saja tombol diklik, meskipun javascript dimatikan.</p>
16
 
17
<p id="610413" class="block-content">Contoh berikut menggunakan kedua event  <tt>OnClick</tt> dan <tt>OnCallback</tt> dari <tt>TActiveButton</tt>.</p>
18
 
19
<com:RunBar PagePath="ActiveControls.Samples.TActiveButton.Home" />
20
 
21
<h2 id="122027">Diagram Kelas TActiveButton</h2>
22
<p id="610414" class="block-content">Diagram kelas untuk <tt>TActiveButton</tt> diilustrasikan dalam gambar berikut.
23
Banyak kontrol aktif yang melakukan permintaan callback mempunyai struktur yang mirip.
24
</p>
25
 
26
<img src=<%~ TActiveButtonClass.png %> class="figure"
27
	alt="TActiveButton class diagram" title="Diagram kelas TActiveButton" />
28
 
29
<p id="610415" class="block-content"><tt>TActiveButton</tt> adalah ekstensi dari <a href="?page=Controls.Button">TButton</a> dan mengimplementasikan dua antarmuka tambahan <tt>ICallbackEventHandler</tt> dan
30
<tt>IActiveControl</tt>. <tt>TActiveButton</tt> berisi turunan dari
31
<a href="?page=ActiveControls.BaseActiveControl">TBaseActiveCallbackControl</a>
32
yang tersedia melalui properti <tt>ActiveControl</tt> dari <tt>TActiveButton</tt>.
33
Contoh berikut menyetel parameter callback atas <tt>TActiveButton</tt> saat
34
permintaan callback ditampung.
35
</p>
36
<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code1">
37
&lt;com:TActiveButton
38
	Text="Click Me"
39
	OnCallback="button_callback"
40
	ActiveControl.CallbackParameter="value" /&gt;
41
</com:TTextHighlighter>
42
<p id="610416" class="block-content">Dalam metode pengendali event <tt>OnCallback</tt>, <tt>CallbackParameter</tt> tersedua di dalam obyek <tt>$param</tt>.</p>
43
<com:TTextHighlighter Language="php" CssClass="source block-content" id="code2">
44
public function button_callback($sender, $param)
45
{
46
	echo $param->CallbackParameter; //mengeluarkan "value"
47
}
48
</com:TTextHighlighter>
49
 
50
<h2 id="122028">Menambah Perilaku Sisi Klien</h2>
51
 
52
<p id="610417" class="block-content">Di dalam properti <tt>ActiveControl</tt> adalah turunan dari
53
<a href="?page=ActiveControls.CallbackClientSide">TCallbackClientSide</a> yang tersedia sebagai <tt>ClientSide</tt> dari <tt>TActiveButton</tt>.
54
Properti <tt>ClientSide</tt> berisi sub-properti, serperti <tt>RequestTimeOut</tt>, dan pengendali event javascript sisi-klien, seperti <tt>OnLoading</tt>, dipakai oleh sisi-klien saat membuat permitaan callback.
55
Contoh berikut mendemonstrasikan menghidup matikan indikator "loading" saat sisi-klien
56
membuat permintaan callback.
57
</p>
58
 
59
<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code3">
60
&lt;com:TClientScript PradoScripts="effects" /&gt;
61
<span id="callback_status">Loading...</span>
62
 
63
&lt;com:TActiveButton
64
	Text="Click Me"
65
	OnCallback="button_callback"
66
	ActiveControl.CallbackParameter="value" &gt;
67
	&lt;prop:ClientSide
68
		OnLoading="Element.show('callback_status')"
69
		OnComplete="Element.hide('callback_status')" /&gt;
70
&lt;/com:TActiveButton&gt;
71
</com:TTextHighlighter>
72
 
73
<p id="610418" class="block-content">Contoh ini mengambil librari javascript "effects" menggunakan komponen
74
<a href="?page=Controls.ClientScript">TClientScript</a>.
75
Nilai properti <tt>ClientSide.OnLoading</tt> berisi pernyataan javascript yang menggunakan librari "effects" untuk menampilkan tag span "Loading...". Hal yang mirip, nilai properti <tt>ClientSide.OnComplete</tt> berisi pernyataan javascript yang menyembunyikan tag span "Loading...".
76
Lihat <a href="?page=ActiveControls.CallbackClientSide">TCallbackClientSide</a> untuk rincian lebih jelas pada detil properti sisi-klien.
77
</p>
78
<div class="last-modified">$Id: ActiveButton.page 1817 2007-03-31 23:36:00Z wei $</div></com:TContent>