ASP.NET 2.0服務(wù)器控件之客戶端功能_.Net教程
推薦:ASP.NET 2.0發(fā)送電子郵件中存在的問(wèn)題 在新發(fā)行的ASP.NET 2.0版本中,微軟不再建議使用System.Web.Mail命名空間而代之以新的System.Net.Mail命名空間。在這個(gè)新庫(kù)中引入了許多新特征,但是在發(fā)送郵件的方式方面也相應(yīng)地帶入了一
多數(shù)在表示層應(yīng)用的服務(wù)器控件主要由兩個(gè)部分組成:服務(wù)器端功能和客戶端功能。服務(wù)器端功能永遠(yuǎn)是服務(wù)器控件的核心,而隨著技術(shù)的發(fā)展,客戶端功能也逐漸變得越來(lái)越重要。只有兩個(gè)部分互相配合,才能創(chuàng)建出功能強(qiáng)大、界面豐富的服務(wù)器控件。本文將討論在服務(wù)器控件中實(shí)現(xiàn)客戶端功能的相關(guān)問(wèn)題,具體內(nèi)容包括客戶端功能概述、實(shí)現(xiàn)簡(jiǎn)單客戶端功能、實(shí)現(xiàn)復(fù)雜客戶端功能,以及部署客戶端文件的實(shí)現(xiàn)方法等內(nèi)容。
1. 客戶端功能簡(jiǎn)介
在Web編程中,客戶端功能傳統(tǒng)上是由Web頁(yè)開發(fā)人員負(fù)責(zé),并且不被封裝在服務(wù)器組件中。ASP.NET脫離了這一范疇并使服務(wù)器控件能夠發(fā)出客戶端腳本,從而使服務(wù)器控件能夠?qū)⒖蛻舳颂幚砼c服務(wù)器端處理結(jié)合起來(lái)。實(shí)現(xiàn)客戶端功能對(duì)于提高服務(wù)器控件的交互性和可擴(kuò)展性的意義重大。例如,常見的TreeView、TabStrip、ToolBar控件等,這些優(yōu)秀的服務(wù)器控件具有很強(qiáng)的交互性和豐富的用戶界面,而這些特征的實(shí)現(xiàn)與客戶端功能是密不可分的。
實(shí)現(xiàn)客戶端功能的技術(shù)主要是客戶端腳本(JavaScript、VBScript等)和DHTML。因此,作為一名合格的開發(fā)人員必須具有熟練應(yīng)用這些技術(shù)的能力。除此之外,還要掌握將客戶端功能與服務(wù)器控件密切結(jié)合的方法。這些內(nèi)容包括:實(shí)現(xiàn)簡(jiǎn)單客戶端功能、實(shí)現(xiàn)復(fù)雜客戶端功能、部署客戶端腳本文件的方法。
2. 實(shí)現(xiàn)簡(jiǎn)單客戶端功能
如果自定義服務(wù)器控件的客戶端功能比較簡(jiǎn)單,例如,僅僅是彈出窗口或者改變背景顏色等,那么對(duì)于這種情況,通過(guò)不使用單獨(dú)的客戶端腳本文件封裝,而是直接在控件呈現(xiàn)中實(shí)現(xiàn)。其實(shí)現(xiàn)的關(guān)鍵是在控件的Attributes中添加適當(dāng)?shù)目蛻舳颂幚沓绦�。以下�?shí)例說(shuō)明從System.Web.UI.WebControls.Button類派生的控件MyClickButton,它為客戶端單擊事件提供事件處理程序。請(qǐng)看下面的代碼:
如果讀者已經(jīng)閱讀了前面有關(guān)控件呈現(xiàn)的文章,那么很容易理解以上代碼。以上代碼重寫了AddAttributesToRender方法,它為MyClickButton控件定義了一個(gè)名為onclick的Attribute,其值指示在客戶端彈出一個(gè)包含自定義信息的確認(rèn)窗口。如果讀者所開發(fā)的服務(wù)器控件的客戶端功能都比較簡(jiǎn)單,那么可以嘗試?yán)弥貙慉ddAttributesToRender的方法予以實(shí)現(xiàn)。
下面是為使用MyClickControl控件而創(chuàng)建的ASPX頁(yè)面源代碼。
當(dāng)用戶點(diǎn)擊MyClickControl控件時(shí),立刻彈出一個(gè)包含提示信息的確認(rèn)窗口。需要注意的是彈出確認(rèn)窗口并不是由于頁(yè)面回傳,而是用戶激發(fā)客戶端處理程序的結(jié)果。當(dāng)點(diǎn)擊"確定"按鈕之后,才會(huì)發(fā)生頁(yè)面回傳。
<%@ Register TagPrefix="Custom" Namespace="MyControls" Assembly = "MyControls" %>
<html>
<body>
<form runat=server>
請(qǐng)點(diǎn)擊下面的按鈕
<Custom:MyClickButton Id = "demo" runat=server/>
<br>
</form>
</body>
</html>
//相關(guān)代碼
......
protected override void AddAttributesToRender(HtmlTextWriter writer) {
base.AddAttributesToRender(writer);
writer.AddAttribute("onclick", "window.confirm('謝謝您! ');");
}
}
分享:ASP.NET 2.0中層次數(shù)據(jù)的處理 數(shù)據(jù)源控件可以同時(shí)暴露平面表格式的或?qū)哟蔚臄?shù)據(jù)。前面演示的SqlDataSource和ObjectDataSource控件都是平面表格式的數(shù)據(jù)源控件。ASP.NET 2.0還包含兩個(gè)層次數(shù)據(jù)源控件:用于連接X(jué)ML文件的X
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- ASP.NET及JS中的cookie基本用法
- asp.net中倒計(jì)時(shí)自動(dòng)跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)方法(使用javascript)
- 七招制勝ASP.NET應(yīng)用程序開發(fā)
- 淺析CMS內(nèi)容管理系統(tǒng)的兩種方案
- 模板無(wú)憂:asp.net后臺(tái)cs中的JSON格式變量在前臺(tái)Js中調(diào)用方法
- asp.net中文件下載功能的實(shí)例代碼
- ASP.NET編程的十大技巧
- 動(dòng)態(tài)代理DynamicProxy 介紹
- 使用Fiddler調(diào)試visual studion多個(gè)虛擬站點(diǎn)的問(wèn)題分析
- 怎樣使ASP.NET實(shí)現(xiàn)頁(yè)面?zhèn)髦?/a>
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-ASP.NET 2.0服務(wù)器控件之客戶端功能
。