ASP.NET 2.0 行動控制項透過 DeviceSpecific/Choice 建構針對不同裝置能力的差異化呈現。Visual Studio 2005 提供視覺化「裝置篩選器編輯器」,讓開發者以拖點方式定義裝置篩選器與屬性覆寫/模板,自動同步寫入 web.config,避免手寫 XML 錯誤。
Form、Panel、列表控制項等)。isHTML32)、類別(System.Web.Mobile.HtmlDeviceFilter)、引數(如 html32)。isWML11、isCHTML10、isHTML32、isDefault 等。SelectType="ListBox")或模板內容。編輯器設定自動同步至 web.config <deviceFilters> 區段:
<system.web>
<deviceFilters>
<filter name="isHTML32" type="System.Web.Mobile.HtmlDeviceFilter" argument="html32" />
<filter name="isWML11" type="System.Web.Mobile.WmlDeviceFilter" argument="wml11" />
</deviceFilters>
</system.web>
全站所有控制項共用定義,維護集中化。
屬性視窗「已套用的裝置篩選器」清單顯示目前控制項套用的 Choice:
<mobile:SelectionList ID="selColor" runat="server" SelectType="DropDown">
<DeviceSpecific>
<Choice Filter="isWML11" SelectType="ListBox" />
<Choice Filter="isHTML32" SelectType="DropDown" />
</DeviceSpecific>
</mobile:SelectionList>
WML 裝置顯示清單模式,HTML 裝置顯示下拉模式。
DeviceSpecific 至 Form 或 Panel 內,可視覺化定義頁面層級模板選項(如不同裝置顯示不同頁首/頁尾)。SelectionList)不會自動產生 DeviceSpecific/Choice,僅適用於 Form/Panel 模板化選項。<mobile:Form ID="Form1" runat="server">
<DeviceSpecific>
<Choice Filter="isHTML32">
<HeaderTemplate>
<h3>HTML 版頁首</h3>
</HeaderTemplate>
</Choice>
<Choice Filter="isWML11">
<HeaderTemplate>
<p>WML 版頁首</p>
</HeaderTemplate>
</Choice>
</DeviceSpecific>
<!-- 表單內容 -->
</mobile:Form>
isHTML32、isWML11、isCHTML10、isDefault),減少自訂維護。isDefault 作為最後兜底 Choice,確保所有裝置皆有呈現。.ascx 使用者控制項,DeviceSpecific 參考 TemplateControl 類別屬性。視覺化裝置篩選器編輯器將「寫 XML 定義差異化呈現」轉為「點選設定屬性覆寫」,大幅降低行動應用跨裝置相容開發門檻與維護成本。