擴充套件控制項 自定義屬性

2022-01-22 12:13:56 字數 1223 閱讀 8926

給控制項自定義屬性,一般情況:方式1

public class customcontrol:webcontrol

set}

}最近也在簡單重寫一些控制項屬性,發現了一些問題,如上所述的自定義屬性有一點缺陷:

因為.net控制項都會有個__dopostback問題,所以當這個屬性不是在html頁面上寫死的值,而是在後台動態賦值的情況下

會出現重新初始化。

我重寫了gridview分頁標籤,後台給custompagersettings.textdata=「每頁條/共條        第頁/共頁    」,

然後gridview有個子表功能;現在問題出現在子表的翻頁上:因為子表翻頁不會重新繫結父表,所以父表結構不會變化,但子表翻頁

會重新整理頁面,custompagersettings.textdata會被置空《後台custompagersettings.textdata的賦值語句放在page_load()中

仍然不行》,跟蹤程式後發現,子表分頁函式執行後,父表分頁標籤會執行乙個onchange()事件,然後重構分頁標籤custompagersettings.textdata的值此時是空。

網上找到另一種定義方式:方式2

public class customcontrol:webcontrol

set}

public t getpropertyvalue(string propertyname, t nullvalue)

return (t)this.viewstate[propertyname];

}public void setpropertyvalue(string propertyname, t value)

}中定義將賦值儲存在viewstate中,不會出現上述重構時沒值的情況了。

注:我在重寫時用上述方法仍然行不通,經過仔細除錯發現問題。擴充套件的屬性如果是直接寫在customcontrol類中用方式2沒有問題。

但是可能擴充的是乙個附加類屬性,比如

public class customcontrol:webcontrol

public class customproperty

}這種情況在customproperty類中是無法按照方式2定義的,因為viewstate是webcontrol的特性,所以要記住只有繼承了webcontrol的

類才可以。 customproperty類如果繼承webcontrol也是不行的,只有customcontrol類的viewstate記住屬性值才有效果。

自定義控制項及自定義屬性

自定義控制項在android開發中的重要性,是不言而喻,眾人皆知的。希望通過這二天的學習,能讓大家了解自定義控制項的原理,熟悉自定義控制項的使用步驟,並能寫出一些普通的效果。內容介紹 1 使用系統控制項,實現自定義的效果,案例有 優酷環形選單 廣告條 viewpager 下拉列表 spinner 2...

Android自定義控制項 自定義屬性

自定義屬性的過程 1.在res values資料夾中建立attrs的xml檔案。2.寫入標籤,定義子標籤attr,放入自定義屬性的名稱。format 可以用 來同時使用 1 reference 參考某一資源id 2 color 顏色值 3 boolean 布林值 4 dimension 尺寸值 帶有...

自定義擴充套件Repeater控制項

repeater控制項主要用於顯示資料,因為具有良好的擴充套件性和自由性,被大量使用顯示資料。1 自定義控制項的建立和使用 本次主要講訴繼承現有的控制項,非完全自定義的控制項。該種控制項的建立和使用分為3個步驟,第一步 自定義類,繼承現有的控制項 第二步 在網頁上註冊 第三步 使用。1 自定義類 2...