ASP.NET 移动网页介绍
更新:2007 年 11 月
本节文档介绍如何使用 ASP.NET 移动控件设计 ASP.NET 移动网页。移动控件在 Microsoft .NET Framework 技术的基础上建立并扩展了这一技术。
说明: |
---|
如果您采用英语之外的语言创作页面,请参见 Microsoft ASP.NET 文档中的开发全球通用应用程序的最佳做法。 |
创作工具
若要创建 ASP.NET 移动网页,可以使用 Microsoft Visual Studio 或文本编辑器。Visual Studio 提供用来创建移动网页及其代码的工具,以及用来管理包含移动网页的应用程序的工具。
创建了移动页之后,您可以在受支持的设备上使用浏览器查看它们。有关更多信息,请参见.NET Compact Framework 支持的设备和平台。
服务器端应用程序
移动控件在服务器上运行。这些控件将标记语言发送到浏览器;标记指定如何在当前窗体或页中显示控件和内容。
每个移动网页包含至少一个窗体元素,该元素由 <mobile:Form> 标记指示。每一移动控件标记都必须包括 runat=server 属性。
客户端脚本
与其他类型的网页类似,移动网页可以包含供浏览器处理的客户端脚本。如果这些脚本引用特定的 Web 服务器控件,则它们必须使用在标记语言中发出的标识符。这些标识符因设备支持的标记语言而异。若要获取控件的确切名称,请编译应用程序,浏览到页或窗体,并且查看其源标记。
传统的“Hello World”示例
下面的代码示例演示“Hello World”移动网页。此示例演示如何使用 Form 控件作为显示“Hello, world!”文本的 Label 移动控件的容器。
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"
Language="C#" %>
<mobile:Form id=Form1 runat="server">
<mobile:Label id=Label1 runat="server">
Hello, world!
</mobile:Label>
</mobile:Form>
国际性的“Hello World”示例
移动社区是全球性的。下面的代码示例演示“Hello World”的国际版本。在前面示例的此变体中,List 控件显示各个 <Item> 元素中定义的语言的列表。事件处理程序读取由用户选择的语言,然后切换到另一个窗体。switch 语句用来为用户选择的语言显示正确的文本。
<%@ Page Language="C#"
Inherits="System.Web.UI.MobileControls.MobilePage" %>
<script runat="server">
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" runat="server"
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" runat="server"
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 支持的设备和平台