CSDN博客

img colayungnew

用Visual Studio .NET 中的Mobile Web Form创建移动网络应用程序

发表于2004/10/16 13:47:00  906人阅读

分类: ASP.NET MSDN

 

 

在过去的一些年里,世界已经被看作是新设备的爆炸-包括网络电话和国际互联网-使得个人数字辅助成为可能-它保证成为你今天创建的软件的下一代用户。当这个爆炸发展到消费者或组织可以有广泛的各种各样的设备选择,它要求开发者与设备和设备间存在地差异战斗。

为了帮助开发人员为这些新“瘦客户”设备创建应用程序,Microsoft已经把Mobile Internet Toolkit (原来是.NET Mobile Web SDK)直接集成到Visual Studio .NET 环境中。

新的集成工具箱和Visual Studio .NET 合起来使得创建应用程序变得简单,在获得只属于所给设备的有利特性时,它可以聪明地适应不同设备。现在你可以在Visual Studio .NET 中创建移动网络应用程序项目,并且使用可视化设计器来创建和编辑移动网页。你可以定购 Visual Studio .NET Beta 2 或者你可以从MSDN®网站下载 Mobile Internet Toolkit

Mobile Internet Toolkit由一系列服务器端移动网络窗体和创作用户界面的Mobile Internet Designer组成,也包括QuickStart向导,开发文档和设备适配器源代码。

Mobile Web Forms控制扩充了ASP.NET和.NET框架的能力来帮助开发者为蜂窝电话和Personal Digital Assistants创建移动网络应用程序,例如Pocket PC。这些控制使用对于不同设备的翻译,并且生成适当的标注语言: Wireless Markup Language (WML) 版本 1.1, Hypertext Markup Language (HTML) 版本 3.2,或者精简HTML (cHTML)。

在这篇文章中,你将学到创建移动网络应用程序的基本步骤。在你可以创建一个Mobile Web Forms 应用程序前,你需要安装Microsoft Visual Studio .NET Beta 2和Mobile Internet Toolkit Beta 2。使用这些技术,你马上可以为蜂窝电话和Pocket PCs创建移动网络应用程序。

Mobile Web Forms 控制
Microsoft 移动网络窗体控制建立在.NET 框架上,它把ASP.NET 网络开发模型的优点带到移动应用程序的世界。另外,移动网络窗体控制提供了:

  • 世界范围的工具支持:从Visual Studio 集成开发环境(IDE)获得完全支持,使用它丰富的工具箱和设计器,拖放服务器控制,自动配置和许多其他特性。
  • 支持各种各样的设备:使用ASP.NET来瞄准很多的移动设备-从瘦客户基于XML地移动电话到基于HTML的Pocket PC。
  • 一次编写网页:编写一次网络应用程序并把它配置到任何所支持的移动服务上。你可以使用一系列移动网络窗体控制来编写复杂的应用程序,不需要对WML和其他标置语言的知识。智能服务端控制处理浏览器、设备和网关中许多的执行差异。
  • 可定制性和可扩展性:从ASP.NET的定制和扩充特性获得好处。另外,可扩展性模型将使其他设备在将来被支持。这确保了便捷设备的将来的产品会支持你今天编写的移动网络应用程序。

Mobile Web Forms
Mobile Web Forms 页面专用于ASP.NET网络窗体页面。它是一个文本文件,有.aspx扩展名,而它包含一组移动控制-ASP.NET服务器控制-它可以适应所支持的移动设备提供的环境。

作为开发者,你可以使用设备独立的属性、方法和事件来安排移动页面和控制。当一个支持的设备需要一个移动网络窗体页面,这个页面和控制自动确定设备并且产生一个适合于那个设备的能力的环境。例如,一些设备可以比其他的设备显示更多行文字,一些设备可以在别的不能的时候显示图形,而一些设备可以放置电话而别的不行。

每个移动网络窗体页面必须有下面的标准头指示,这指出它是一个移动页面。Language=的属性将是各式各样的,根据你为你的页面使用的语言。

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage" Language="C#" %>
<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls"
  Assembly="System.Web.Mobile" %> 

因为一个移动网络窗体页面包含移动控制,每个移动控制条应该包括runat="server"属性:

<mobile:Form runat="server">
</mobile:Form>

每个页面包含至少一个移动窗体,被标签指出。但是,你可以把多个窗体放到一个移动网络窗体页面中。

就像其他ASP.NET服务器控制,移动控制可以发布一个包含属性、方法和事件的对象模型。你可以使用这个对象模型来修改和访问这个页面。移动控制的对象模型是设备独立的,因此你可以与控制用一种统一的方法互相影响,而不管目标设备是什么。

创建移动网络窗体页面的两种方法
在网络窗体编程模仿Microsoft Visual Basic®开发人员编写传统基于Microsoft Windows®的应用程序的方法。为了在Visual Basic中构建一个Windows窗体应用程序,你把一个窗体添加到项目中,把一个控制拖放到窗体,设置属性然后双击控制来编写运行在窗体后面的代码。这个众所周知的模型被数百万开发人员使用来快速构建桌面应用程序。移动网络窗体技术把相同的设计原理和生产水平带到移动网络应用程序中。

为了创建使用移动网络窗体的广泛适用的移动网络应用程序,你简单地把一个新移动网络窗体添加到你的项目中,把控制拖到网页中,并且双击控制来添加运行在页面后面的代码。你可以为移动网络窗体页面选择你实现商业逻辑的语言。Visual C# .NET、 Visual Basic .NET和Visual C++® 都被包括在Visual Studio .NET中。

下面的例子演示了你如何能使用Visual Studio .NET Mobile Internet Designer或Mobile Internet Toolkit和命令行来创建移动网络应用程序(包括在Microsoft Mobile Internet Toolkit 中。

Visual Studio .NET Mobile Internet Designer
下面的例子使用Visual Basic .NET和Calendar Control来演示如何处理定义在一个移动网络窗体页面中地多个窗体。当一个页面首次被一个客户访问,这个首次出现的页面就是默认的显示。你可以有计划地通过设置移动页面的ActiveForm属性 来转移到其他窗体,或者你可以允许一个用户通过使用Link控制来转移到一个窗体。下面的例子演示了有两个窗体的页面,和一个ActiveForm 导航的例子。

创建TwoFormsApp
首先,创建一个名为TwoFormsApp的新目录。

  1. 在一个运行Visual Studio .NET Beta 2 系统需求 列表中列出的,支持Internet Information Services (IIS)的操作系统的非产品测试计算机上安装Visual Studio .NET Beta 2和Mobile Internet Toolkit。
  2. 从File菜单启动Visual Studio .NET Beta 2,选择 New Project。在 New Project 对话框中,从Project Types 列表中选择 Visual Basic Projects。 在 Templates 列表中,选择Mobile Web Application。输入TwoFormsApp作为项目的名称,然后点击OK。


图3. New Project对话框

创建MobileWebForm1.aspx 用户界面
默认情况下,在你创建你的应用程序时,移动网络窗体页面调用MobileWebForm1.aspx来显示。这是用户界面文件,根据客户设备的能力,它包含许多服务器端移动控制和HTML 3.2、 cHTML或WML 1.1的环境。MobileWebForm1.vb,一个已编译的后台代码文件,将在以后被创建来处理你的编程逻辑。

  1. 从Mobile Forms 工具条,把一个Label、 一个TextBox 和一个Command 按钮拖到Form1中。
  2. 在Form1中点击Label 。确定Properties窗口在你的屏幕右下角。在Label1 Text 域中输入: Enter the date (mm/dd/yyyy)。这个文字显示到窗体的Label 中。
  3. 为Command 按钮更改Text 属性来显示Form2。
  4. 把一个附加窗体拖到Form1下面的设计表面中。新的窗体名为Form2。添加一个Command 按钮和一个Calendar 控制。更改Command 按钮的Text 属性来显示Form1。

在设计时,你的窗体表面应该像图4所示。


图4. Visual Studio .NET Mobile Internet Designer

创建MobileWebForm1.aspx.vb 后台代码文件
双击Show Form2 按钮。一个新文件,MobileWebForm1.aspx.vb,就打开了。你的指针会在Public Sub Command1_Click。添加下面的代码:

Public Sub Command1_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Command1.Click
        Dim datetext As Date
        datetext = TextBox1.Text
        ActiveForm = Form2()
        Calendar1.SelectedDate = datetext
        Calendar1.VisibleDate = datetext
End Sub 

在Design 视中,双击Show Form1 按钮。你的指针现在将在Public Sub Command2_Click。添加下面的代码:

Private Sub Command2_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Command2.Click
        Dim dateval As Date
        dateval = Calendar1.SelectedDate
        ActiveForm = Form1()
        TextBox1.Text = dateval
End Sub

运行TwoFormsApp 应用程序

  1. 在Solution Explorer,右键单击MobileWebForms1.aspx 文件并且选择Set As Start Page。
  2. 保存你的应用程序,然后按F5来创建并对它调试。或者,从Debug 菜单中选择Start 窗体。
  3. 当应用程序运行时,用特定的形式输入日期,然后点击Show Form1 按钮。Form2出现了,并且显示Calendar 控制。
  4. 为了选择不同的日期,点击日历,然后点击Show Form2 按钮。

为了测试使用移动设备的应用程序,你的网络服务将需要一个固定的IP地址。

Microsoft Mobile Internet Toolkit和命令行

Visual Studio .NET Beta 2 把Mobile Internet Toolkit 直接集成到开发环境中,使很多设计、开发和调试变为自动化。但是,移动应用程序也可以使用你所喜欢的编辑器、Mobile Internet Toolkit和命令行编译来手动创建。下面的例子演示了如何使用C#去做这件事情。它也演示了你怎么从Command控制来处理OnClick 事件。当代码接收到这个事件,它按程序导航到另一个窗体。一个新的有活性的窗体产生OnActivate 事件,你可以控制它来对窗体初始化。

创建NameApp

  1. 在一个运行Windows 2000 Server或有Service Pack 1的Windows 2000 Professional操作系统的非产品测试计算机上,创建目录C:/Inetpub/wwwroot/Name。
  2. 从Internet Services Manager ,展开Default Web Site 列表,右键单击Name (虚拟根 ),然后点击Properties。
  3. 在Application Settings 下面, Application Name的右边,点击Create 按钮。

在下面的例子中,你将在Name 目录中创建两个文件。

  • Name.aspx是用户界面文件,根据客户设备,它包含了大量服务器端控制和HTML 3.2, cHTML或 WML 1.1的环境翻译。
  • Name.cs是后台代码文件,它是一个编译好的C#部件。这个文件的扩展名根据编写它所用的语言是不同的。如果部件是一个Visual Basic部件,这个文件名称就是Name.vb。

创建Name.aspx移动网络窗体

<%@ Page Codebehind="Name.cs" Inherits="NameApp.NamePage" Language="C#" %>
<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls"
  Assembly="System.Web.Mobile" %>

<mobile:Form runat="server">
   <mobile:Label runat="server">What is your name?</mobile:Label>
   <mobile:Textbox runat="server" id="NameEdit"/>
   <mobile:Command runat="server" OnClick="GoCommand_OnClick" Text="Go!"/>
</mobile:Form>

<mobile:Form runat="server" id="SecondForm" OnActivate="SecondForm_OnActivate">
   <mobile:Label runat="server" id="Greeting"/>
</mobile:Form>

创建Name.cs 后台代码文件

using System;
using System.Web.UI.MobileControls;

namespace NameApp
{
    public class NamePage : MobilePage
   {
      protected Form SecondForm;
      protected TextBox NameEdit;
      protected UI.Label Greeting;
      private String greetingText;

      protected void GoCommand_OnClick(Object sender, EventArgs e)
      {
         greetingText = "Hello, " + NameEdit.Text + "!";
         ActiveForm = SecondForm;
      }

      protected void SecondForm_OnActivate(Object sender, EventArgs e)
      {
         Greeting.Text = greetingText;
      }
   }
}

编译Name.cs 文件

  1. 在Name目录中创建一个文件夹命名的扩展名。
  2. 在命令行提示输入下面的代码来编译Name.cs 文件:
  3. C:/Inetpub/wwwroot/Name> csc /r:System.Web.dll /r:System.Web.Mobile.dll _ /target:library /out:bin/NameApp.dll Name.cs

在一个PC、一个Pocket PC或下面列出的任何现在的测试设备,浏览http://localhost/Name/Name.aspx并且测试应用程序。

当前测试的设备

  • Pocket PC
  • Sony CMD-z5 with Microsoft Mobile Explorer
  • Mitsubishi T250
  • Nokia 7110
  • Sprint Touchpoint
  • Samsung Touchpoint
  • Simulator for Microsoft Mobile Explorer version 2.01
  • Simulator for Phone.com UP 3.2
  • Simulator for Nokia 7110
  • Simulator for Phone.com UP 4.0
  • Personal computer with Microsoft Internet Explorer 5.5

结论
Microsoft Visual Studio 开发工具的下一代产品显著地减少了创建移动网络应用程序的复杂性。使用Visual Studio .NET ,你将可以从一个单独的ASP.NET页面,开发面向网络和事实上任何移动设备的应用程序-而不用学习各种各样的不同的标置语言。使用新的,简化了创建继承了对工业标准支持的移动网络应用程序的技术,例如Extensible Markup Language (XML) 和Wireless Application Protocol (WAP),Microsoft将使你可以创建下一代移动网络应用程序。

通过访问Mobile Newsgroup 来与你的同行交流关于移动网络窗体的消息。注意,你可以使用任何新闻阅读软件来访问这些新闻组。但是,我们建议从Microsoft Internet Explorer 主页下载Outlook Express 。要得到更多关于访问新闻组的信息,参观MSDN Web site

阅读全文
0 0

相关文章推荐

img
取 消
img