共用方式為


ASP.NET Mobile Web 網頁簡介

更新:2007 年 11 月

本文件的這個章節為您簡介使用 ASP.NET Mobile 控制項設計 ASP.NET Mobile Web 網頁的方法。行動控制項是建立在 Microsoft .NET Framework 的技術上,並將該技術加以擴充。

注意事項:

如果您用英文以外的語言撰寫網頁,請參閱 Microsoft ASP.NET 文件中的開發世界性的應用程式的最佳作法

撰寫工具

若要建立 ASP.NET Mobile Web 網頁,您可以使用 Microsoft Visual Studio 或文字編輯器。Visual Studio 會提供建立 Mobile Web 網頁及其程式碼的工具,這些工具也能管理包含這些 Mobile Web 網頁的應用程式。

在建立自己的行動頁面之後,您就能在支援的裝置上使用瀏覽器來檢視這些頁面。如需詳細資訊,請參閱.NET Compact Framework 支援的裝置和平台

伺服器端應用程式

行動控制項是在伺服器上執行。它們會將標記語言傳送到瀏覽器,而這些標記會指定如何在目前的表單或網頁中顯示控制項和內容。

每個 Mobile Web 網頁都包含至少一個表單項目,此項目會以 <mobile:Form> 標記 (Tag) 指示。每個行動控制項標記都必須包含 runat=server 屬性 (Attribute)。

用戶端指令碼

如同其他 Web 網頁類型,Mobile Web 網頁也可以包含瀏覽器要處理的用戶端指令碼。如果這些指令碼會參考特定 Web 伺服器控制項,其就必須使用標記語言中所發出的識別項。這些識別項會視裝置支援的標記語言而有不同。若要取得控制項的確切名稱,請編譯應用程式、瀏覽該網頁或表單,並檢視其來源標記。

傳統的 "Hello World" 範例

下列程式碼範例說明一個 "Hello World" Mobile Web 網頁。這個範例示範使用 Form 控制項做為顯示 "Hello, world!" 文字之 Label 行動控制項的容器 (Container)。

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage" 
   Language="C#" %>
<mobile:Form id=Form1 >
  <mobile:Label id=Label1 >
    Hello, world!
  </mobile:Label>
</mobile:Form>

國際的 "Hello World" 範例

行動社群遍佈在全球各地。下列程式碼範例說明國際版本的 "Hello World"。在這個之前範例的變化版本中,List 控制項會根據個別 <Item> 項目,顯示其中所定義之語言的清單。事件處理常式會讀取由使用者選取的語言,然後再切換到另一個表單。switch 陳述式則會用於顯示使用者所選取語言的正確文字。

<%@ Page Language="C#" 
    Inherits="System.Web.UI.MobileControls.MobilePage" %>

<script >
public void MyEventHandler(Object source, ListCommandEventArgs e)
{
    Selection.Text = "You selected " + e.ListItem.Text;
    ActiveForm = SecondForm;

    switch (e.ListItem.Text)
    {
      case "French":
          Selection.Text = "Bonjour le monde";
          break;

      case "German":
          Selection.Text = "Hallo Welt";
          break;

      case "Italian":
          Selection.Text = "Ciao il mondo";
          break;

      case "Norwegian":
          Selection.Text = "Hei verden";
          break;

      case "Portuguese":
          Selection.Text = "Oi mundo";
          break;

      default:
          Selection.Text = "Hello World";
          break;
   }
}
</script>
<mobile:Form id="ListStuff"  
      BackColor="White" ForeColor="#bb7023">
  <mobile:Label runat=server id="label">
    Pick a Language!
  </mobile:Label>
  <mobile:List runat=server id="ListMe" 
      OnItemCommand="MyEventHandler">
    <item Text="English" />
    <item Text="French" />
    <item Text="German" />
    <item Text="Italian" />
    <item Text="Norwegian" />
    <item Text="Portuguese" /> 
  </mobile:List>
</mobile:Form>

<mobile:Form id="SecondForm" 
    BackColor="White" ForeColor="Green">
  <mobile:Label runat=server>
     Your "Hello World"  Translation
  </mobile:Label>
  <mobile:Label runat=server 
    id="Selection"></mobile:Label>
  <mobile:Link runat=server id="GoBack" 
    NavigateURL="#ListStuff">back</mobile:Link>
</mobile:Form>

變更國際應用程式的文字編碼方式

國際應用程式通常會要求您從預設的 UTF-8 編碼方式變更字元編碼方式。若要變更文字編碼方式,請使用 globalization 項目,如同以下範例,此項目會將編碼方式設定為 UTF-16:

<globalization>
  requestEncoding="utf-16"
  responseEncoding="utf-16"
/>

您可以在全域 Machine.config 檔案 (它會指定您所有應用程式的編碼方式) 中設定編碼方式,或在應用程式的 Web.config 檔案 (它只會指定該應用程式的編碼方式) 中設定。

請參閱

概念

開發世界性的應用程式的最佳作法

.NET Compact Framework 支援的裝置和平台

參考

Form

Label

<Item> 項目

其他資源

開發 ASP.NET Mobile Web 網頁