Создание мобильных веб-приложений при помощи ASP.NET
- После обработки данной страницы для мобильного устройства, поддерживающего протокол WAP, будет сгенерирована страница, вид которой в эмуляторе приведен ниже:
- В эмуляторе выберите раздел меню "Tools > Diagnostics". В появившемся окне диагностики можно будет увидеть следующий код страницы, загруженной в эмуляторе:
<?xml version='1.0'?> <!DOCTYPE wml PUBLIC '-//WAPFORUM//DTD WML 1.1//EN' 'http://www.wapforum.org/DTD/wml_1.1.xml'> <wml> <head> <meta http-equiv="Cache-Control" content="max-age=0" /> </head> <card> <p>Hello world!</p> </card> </wml>
Следующий пример демонстрирует использование простого элемента формы для ввода текста (в режиме пароля):
<%@ Page Inherits= "System.Web.UI.MobileControls.MobilePage " Language= "C# "%> <%@ Register TagPrefix= "mobile " Namespace= "System.Web.UI.MobileControls " Assembly= "System.Web.Mobile " %> <script runat="server" language="C#"> string uname; protected void AgeClick(Object sender, EventArgs e) { uname=text1.Text; ActiveForm=form2; } protected void Form2_Activate(Object sender, EventArgs e) { message.Text="Wellcome " + uname + "!"; } </script> <Mobile:Form id="form1" runat="server"> <Mobile:Label runat="server">Your name, please</Mobile:Label> <Mobile:TextBox runat="server" id="text1" password="true"/> <Mobile:Command runat="server" OnClick="AgeClick" Text="Submit" /> </Mobile:Form> <Mobile:Form id="form2" runat="server" OnActivate="Form2_Activate"> <Mobile:Label runat="server" id="message" /> </Mobile:Form>
Если выполнить как в предыдущем примере все шаги с 1 по 8, то после загрузки получившейся страницы в эмуляторе на экране отобразится первая форма:
После ввода строки и нажатия кнопки " Submit " активируется вторая форма:
Код страницы для первой формы, загруженный в мобильное устройство, выглядит следующим образом:
<?xml version='1.0'?> <!DOCTYPE wml PUBLIC '-//WAPFORUM//DTD WML 1.1//EN' 'http://www.wapforum.org/DTD/wml_1.1.xml'> <wml> <head> <meta http-equiv="Cache-Control" content="max-age=0" /> </head> <card> <do type="prev" label="НаЕад"><prev /></do> <p>Your name, please<br/> <input name="mcsvprtws0" type="password" value="" /> <anchor title="Р'перед">Submit <go href="Default.aspx?__ufps=058985" method="post"> <postfield name="__EVENTTARGET" value="ctl01" /> <postfield name="text1" value="$(mcsvprtws0)" /> </go> </anchor> </p> </card> </wml>
Контрольное задание
Разработайте с помощью MS Visual Studio .NET серверное веб-приложение, использующее управляющий ASP.NET Mobile элемент: <Mobile:Calendar> Добавьте для этого элемента обработчик события OnSelectionChanged, который должен отображать выбранный пользователем мобильного устройства день календаря с помощью элемента <Mobile:Label>.
Код обработчика события может выглядеть следующим образом:
<script runat="server"> protected void CalChanged(Object sender, EventArgs e) { label1.Text = "You selected: " + calendar1.SelectedDate; } </script>
Создайте необходимый виртуальный каталог на веб-сервере и проверьте работу приложения с помощью эмулятора мобильного устройства.