Penulis: Dflying Chen ( http://dflying.cnblogs.com/ )
PS: Terima kasih atas kasih sayang semua orang, saya belajar banyak selama dua bulan menetap di blog park, mendapat banyak teman, dan mendapat banyak kesempatan. Saat ini saya mendapat kehormatan untuk menerjemahkan buku Atlas: Fondasi Atlas: Perkembangan Ajax yang Cepat dengan ASP.NET 2.0, yang diharapkan dapat diterbitkan oleh Rumah Penerbitan Pos dan Telekomunikasi Rakyat dalam tiga bulan. Oleh karena itu, saya cukup sibuk selama periode ini, dan blog tidak dapat diupdate sesering beberapa waktu lalu. Tentunya teman-teman dipersilakan untuk terus membahas pertanyaan-pertanyaan terkait Atlas, dan saya akan berusaha semaksimal mungkin untuk menjawabnya.
Dalam dua bulan ke depan saya berharap bisa mengupayakan yang terbaik dalam penerjemahan Foundations of Atlas, sehingga pasti banyak hal yang perlu dibicarakan dengan teman-teman, seperti terminologi, gaya terjemahan, dll. Terima kasih sebelumnya di sini!
Pada artikel sebelumnya (lihat: Mengembangkan kontrol Extender sisi server ASP.NET Atlas - menulis Perilaku sisi klien), kami telah menulis Perilaku sisi klien. Pada artikel ini, mari kita selesaikan dan jalankan sebagai kontrol sisi server.
Pertama, buka file ValidateUserNameProperties.cs. Kelas ini mewarisi kelas dasar TargetControlPropertiesBase<Control>, yang mendefinisikan hubungan pemetaan antara nilai properti klien dan nilai properti server. Pada saat yang sama, kelas dasar TargetControlPropertiesBase<Control> dan Atlas Control Extender telah melakukan pekerjaan menghasilkan Skrip XML sisi klien untuk Anda.
Lima atribut, CheckResultLabelID, ServiceName, MethodName, ValidMessage dan InvalidMessage, harus ditambahkan. Demi kesederhanaan, saya hanya memberikan contoh atribut
[DefaultValue("")]
[IDReferenceProperty(typeof(WebControl))]
[Properti yang Diperlukan()]
string publik CheckResultLabelID
{
mendapatkan
{
return GetPropertyStringValue("CheckResultLabelID");
}
mengatur
{
SetPropertyStringValue("CheckResultLabelID", nilai);
}
}
Definisi CheckResultLabelID didahului oleh tiga atribut:
Nilai Default: Tetapkan nilai default atribut ini.
IDReferenceProperty: Menentukan bahwa properti ini hanya dapat menyimpan ID tipe kontrol tertentu.
RequiredProperty: Menentukan bahwa properti ini diperlukan.
Untuk beberapa properti lainnya, Anda dapat merujuk ke file sumber yang disediakan nanti.
Kemudian lihat file ValidateUserNameExtender.cs. Bagian utamanya adalah sebagai berikut:
[Designer(typeof(ValidateUserNameDesigner))]
[ClientScriptResource("Dflying", "ValidateUserNameBehavior", "Dflying.Atlas.ControlTookit.ValidateUserName.ValidateUserNameBehavior.js")]
[Skrip yang Diperlukan(typeof(ValidateUserNameExtender))]
kelas publik ValidateUserNameExtender : ExtenderControlBase<ValidateUserNameProperties, Control>
{
}
Diantaranya, ValidateUserNameExtender kami mewarisi kelas dasar ExtenderControlBase<ValidateUserNameProperties, Control> dan mendapatkan beberapa operasi umum. Dan tiga atribut diterapkan ke kelas:
Desainer: Tentukan nama kelas desainer Extender ini (digunakan untuk memberikan dukungan waktu desain).
ClientScriptResource: Menentukan informasi yang diperlukan untuk menghasilkan skrip Atlas XML klien. Dflying dan ValidateUserNameBehavior di sini harus konsisten dengan yang ditentukan di ValidateUserNameBehavior.js sebelumnya.
RequiredScript: Tentukan skrip yang diperlukan oleh klien, sehingga Atlas akan menghubungkan ValidateUserNameBehavior.js ke halaman dalam bentuk file axd.
Terakhir, ada file ValidateUserNameDesigner.cs, tempat Anda dapat menambahkan dukungan waktu desain. Biarkan kontrol Anda memiliki gaya tampilan berbeda dengan nilai properti berbeda yang ditetapkan di Visual Studio. Untuk menyederhanakan di sini, saya tidak akan menambahkan dukungan waktu desain.
Pada titik ini, Extender kami telah ditulis, dan DLL yang dihasilkan setelah Rilis Build dapat digunakan secara langsung. Pada artikel selanjutnya, saya akan mendemonstrasikan penggunaan Extender ini dalam program nyata.