UpdatePanel使用AJAX並且易於使用,但是,如果您想要真正的客戶端控件,即只需要在需要時調用服務器,那麼最好還是在別處尋找。
如果你想編寫你自己的控件,我建議閱讀一些JavaScript設計模式,特別是模塊模式。如果你有不錯的JavaScript技能,使用jQuery創建控件是非常容易的 - 也可以使它成爲一個jQuery插件。您可能需要查看一些客戶端MVC/MVVM框架(如AngularJS或Knockout)可能已足夠,因爲至少他們會幫助您處理數據綁定,因此在客戶端管理數據並將其恢復爲服務器。
但是,除非你正在做一些之前沒有人做過的事,爲什麼不使用Telerik或DevExpress的一些現有控件?模塊模式的
例(有一堆不同的方式做模塊模式,這僅僅是一個):
var myModule = {
/* PROPERTIES */
prop1: 'sdfsdf',
prop2: 123,
/* FUNCTIONS */
func1: function() {
alert('!!!');
}
}
/* example use of module */
alert(myModule.prop1);
myModule.func1();
你還需要有JavaScript事件有很好的理解。例如,如果你想創建一個客戶端網格(已有數百萬免費),你需要處理點擊和文本改變的事件類型。即處理分頁,排序,過濾和任何其他你可能想要的功能。
編輯:剛剛創建了一個基本的JSFiddle,爲您提供了一個使用jQuery插件的基本客戶端控件示例。它並不完美,但如果你想嘗試製作自己的控件,它可能會讓你知道從哪裏開始。
http://jsfiddle.net/pwqmenwx/1/
嗨Nidhin,我也不是很舒服的更新面板,它需要一個回傳進不去。儘管它是部分回發,但它貫穿整個頁面生命週期的幕後。 – 2015-02-23 09:51:13
您是否在使用按鈕發送數據?只要確保所有的控件都在更新面板 – 2015-02-23 09:53:22
Nidhin內,請參閱下面的acarter評論。我期待着那樣的事情。 – 2015-02-23 10:54:50