首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 行動開發裝置篩選器視覺化應用:DeviceSpecific/Choice 設計工具與 Web.Config 整合

     編輯:關於ASP.NET

ASP.NET 2.0 行動控制項透過 DeviceSpecific/Choice 建構針對不同裝置能力的差異化呈現。Visual Studio 2005 提供視覺化「裝置篩選器編輯器」,讓開發者以拖點方式定義裝置篩選器與屬性覆寫/模板,自動同步寫入 web.config,避免手寫 XML 錯誤。

視覺化編輯器啟用流程

  1. 設計介面選取行動控制項(Form、Panel、列表控制項等)。
  2. 屬性視窗 → 「裝置特定」欄位 → 點擊省略號按鈕。
  3. 彈出「已套用的裝置篩選器」對話框 → 點擊「編輯」按鈕。
  4. 開啟「裝置篩選器編輯器」視窗。

裝置篩選器編輯器操作

新增裝置篩選器

  • 點擊「新增」→ 輸入名稱(如 isHTML32)、類別(System.Web.Mobile.HtmlDeviceFilter)、引數(如 html32)。
  • 或選擇內建篩選器:isWML11、isCHTML10、isHTML32、isDefault 等。

定義 Choice 內容

  • 選取篩選器 → 「新增 Choice」→ 設定屬性覆寫(如 SelectType="ListBox")或模板內容。
  • 多個 Choice 依優先序排列,執行期依裝置能力由上而下匹配第一個符合者。

自動寫入 Web.Config

編輯器設定自動同步至 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>

全站所有控制項共用定義,維護集中化。

控制項層級 DeviceSpecific 套用

屬性視窗「已套用的裝置篩選器」清單顯示目前控制項套用的 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 控制項用途

  • 拖曳 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,確保所有裝置皆有呈現。
  • 測試階段使用裝置模擬器(Windows Mobile Emulator、OpenWave SDK、Opera Mobile Emulator)驗證各篩選器匹配正確性。
  • 複雜模板建議提取為 .ascx 使用者控制項,DeviceSpecific 參考 TemplateControl 類別屬性。
  • 團隊開發建立共用裝置篩選器定義文件,避免重複定義與命名衝突。

視覺化裝置篩選器編輯器將「寫 XML 定義差異化呈現」轉為「點選設定屬性覆寫」,大幅降低行動應用跨裝置相容開發門檻與維護成本。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved