创建MobileWebForm1.aspx 用户界面
默认情况下,在你创建你的应用程序时,移动网络窗体页面调用MobileWebForm1.aspx来显示。这是用户界面文件,根据客户设备的能力,它包含许多服务器端移动控制和HTML 3.2、 cHTML或WML 1.1的环境。MobileWebForm1.vb,一个已编译的后台代码文件,将在以后被创建来处理你的编程逻辑。
- 从Mobile Forms 工具条,把一个Label、 一个TextBox 和一个Command 按钮拖到Form1中。
- 在Form1中点击Label 。确定Properties窗口在你的屏幕右下角。在Label1 Text 域中输入: Enter the date (mm/dd/yyyy)。这个文字显示到窗体的Label 中。
- 为Command 按钮更改Text 属性来显示Form2。
- 把一个附加窗体拖到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 应用程序
- 在Solution Explorer,右键单击MobileWebForms1.aspx 文件并且选择Set As Start Page。
- 保存你的应用程序,然后按F5来创建并对它调试。或者,从Debug 菜单中选择Start 窗体。
- 当应用程序运行时,用特定的形式输入日期,然后点击Show Form1 按钮。Form2出现了,并且显示Calendar 控制。
- 为了选择不同的日期,点击日历,然后点击Show Form2 按钮。
为了测试使用移动设备的应用程序,你的网络服务将需要一个固定的IP地址。
Microsoft Mobile Internet Toolkit和命令行
Visual Studio .NET Beta 2 把Mobile Internet Toolkit 直接集成到开发环境中,使很多设计、开发和调试变为自动化。但是,移动应用程序也可以使用你所喜欢的编辑器、Mobile Internet Toolkit和命令行编译来手动创建。下面的例子演示了如何使用C#去做这件事情。它也演示了你怎么从Command控制来处理OnClick 事件。当代码接收到这个事件,它按程序导航到另一个窗体。一个新的有活性的窗体产生OnActivate 事件,你可以控制它来对窗体初始化。
创建NameApp
- 在一个运行Windows 2000 Server或有Service Pack 1的Windows 2000 Professional操作系统的非产品测试计算机上,创建目录C:\Inetpub\wwwroot\Name。
- 从Internet Services Manager ,展开Default Web Site 列表,右键单击Name (虚拟根 ),然后点击Properties。
- 在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 文件
- 在Name目录中创建一个文件夹命名的扩展名。
- 在命令行提示输入下面的代码来编译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将使你可以创建下一代移动网络应用程序。