所有的 ASP.NET Mobile 控制項可供開發人員設定自訂控制項屬性 (Attribute),方法是使用 Web Form 的 IAttributeAccessor 介面。這個介面提供 IAttributeAccessor.GetAttribute 和 IAttributeAccessor.SetAttribute 方法;此外,MobileControl 類別公開名為 CustomAttributes 的字典。
自訂屬性可以用來指定其他關於控制項的屬性,也能用在裝置特定的配置器中來調整控制項的行為或呈現。
預設上,會停用在控制項上設定自訂屬性的功能。有兩種方法可以啟用自訂屬性:
將屬性設定至 Web.config 中的 <mobileControls> 區段,如以下程式碼範例所示。
<configuration> ... <system.web> ... <mobileControls allowCustomAttributes="True" /> ... </system.web> ... </configuration>這個設定會影響應用程式中所有頁面的預設值。
將 MobilePage 類別的AllowCustomAttributes 屬性 (Property) 設為 true。這個設定會影響頁面中的所有控制項。
TextBox 控制項的 wmlFormat 屬性會傳送到 WML 裝置作為 WML <input> 項目的 Format 屬性。這是自訂屬性,和控制項的第一級屬性 (Attribute) 不同。然而,在自訂屬性可以作用之前,您必須先啟動它們。如需有效格式的完整清單,請參閱 WML 規格,可在 http://www.wapforum.org 上的<Wireless Application Protocol Forum (WAP)>中找到。
注意 wmlFormat 屬性 (Attribute) 會覆寫 Textbox 控制項的 Numeric 屬性 (Property)。例如,如果 wmlFormat 屬性設為「NNN」,<input> 項目則會限制在三個數字字元內。
注意 自訂屬性 (Attribute) 開啟時,屬性 (Property) 名稱中的印刷樣式可能會被誤認為是自訂屬性 (Attribute)。例如,如果您將控制項的 Text 屬性 (Property) 誤指定為 「Txet」,剖析器會將它儲存成名為「Txet」的自訂屬性 (Attribute),而不是引發例外狀況。為了預防這種情況發生,自訂屬性預設上設為 off。
請參閱
設定多種裝置的 Web 應用程式 | 裝置篩選建議事項 | HasCapability 方法 | 裝置評估方法 | 擴充的瀏覽器能力 | MobileControl 類別