您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么添加ASP.NET其他的AJAX技術(shù)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習“怎么添加ASP.NET其他的AJAX技術(shù)”吧!
添加ASP.NET其他的AJAX技術(shù)
我們完全可以實現(xiàn)類似于包含在TaskView.ascx中的<form>部分。而且,我們同樣可以其中描述每一個任務(wù)項,但是卻能夠把一個常規(guī)的基于提交的表單轉(zhuǎn)換成一個支持AJAX技術(shù)的表單。這樣以來,任務(wù)項的編輯與刪除操作就可以在局部刷新狀態(tài)下實現(xiàn)。示例代碼中對此作了解釋,在此不再贅述。
接下來,我想介紹的是如何添加一些腳本并把它添加到我們的示例程序的UI中創(chuàng)建其他基于AJAX的交互而生成的HTML。具體地說,我想在文本框中添加一個水印效果,此效果為用戶輸入提供了極為友好的用戶直觀性提示。只要沒有用戶輸入,此水印效果就會顯示出來,而當用戶把輸入焦點定位于文本框中時即水印效果消失。
當然,篇幅所限,我們也不會過于細致地去討論腳本本身。有關(guān)此腳本詳細內(nèi)容,請參考本文源碼,但是需要指出的是這個水印效果被實現(xiàn)為大家可能熟悉的ASP.NET AJAX框架的一個客戶端行為(Behavior)組件。就像任何其他行為組件一樣,我們的示例中所使用的文本框也是與DOM元素相關(guān)聯(lián),而且它實現(xiàn)了對此元素引發(fā)的相關(guān)事件的訂閱。
在傳統(tǒng)的web表單頁面中,我經(jīng)常會直接使用支持AJAX功能的服務(wù)器控件,例如WatermarkExtender,并使之關(guān)聯(lián)到一個服務(wù)器控件。但是,在本例中,我使用了另一種擴展方法來實現(xiàn)渲染效果。通過此方法,我也可以實現(xiàn)創(chuàng)建并初始化腳本行為組件的一個實例。下面給出了我更新以后的視圖關(guān)鍵部分的代碼片斷:
<% RenderBeginAjaxForm(Url.Action("Add"), new { Update="taskList, UpdateType="appendBottom", Highlight="True", Starting="startAddTask", Completed="endAddTask" }); %> <input type="text" name="name" id="nameTextBox" /> <% Ajax.Watermark("nameTextBox", new { watermarkText="[What do you need to do?]", watermarkCssClass="watermark"}); %> <input type="submit" name="addTask" value="Add Task" /> <% RenderEndForm(); %>
上面的擴展方法實現(xiàn)相當簡單。其實,它也就是調(diào)用了現(xiàn)成的AJAX框架。下面是我定義的WatermarkBehavior類相應(yīng)的代碼:
public static class WatermarkBehavior {
public static void Watermark(this AjaxHelper ajaxHelper,
string id, object watermarkOptions) {ajaxHelper.RegisterScript("~/Views/Scripts/Watermark.js");
ajaxHelper.RegisterScriptBehavior(id, "Ajax.Watermark", watermarkOptions);
}
}
當然,我們還可以更細致地控制上面的編碼,但這里僅展示了提供搜集注冊的腳本功能核心部分的代碼片斷,以及把它們生成到頁面中,然后實例化行為對象,并使其與相應(yīng)的DOM元素建立關(guān)聯(lián),以及傳遞進視圖提供的選擇以便定制具體的實例介紹添加ASP.NET其他的AJAX技術(shù)。
感謝各位的閱讀,以上就是“怎么添加ASP.NET其他的AJAX技術(shù)”的內(nèi)容了,經(jīng)過本文的學(xué)習后,相信大家對怎么添加ASP.NET其他的AJAX技術(shù)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。