Спонсор: Microsoft
Воронежский государственный университет
Опубликован: 04.02.2009 | Доступ: свободный | Студентов: 7573 / 461 | Оценка: 4.14 / 3.78 | Длительность: 19:54:00
Самостоятельная работа 18:

Создание мобильных веб-приложений при помощи ASP.NET

< Самостоятельная работа 17 || Самостоятельная работа 18: 12 || Лекция 17 >
  1. После обработки данной страницы для мобильного устройства, поддерживающего протокол WAP, будет сгенерирована страница, вид которой в эмуляторе приведен ниже:

  2. В эмуляторе выберите раздел меню "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>

Создайте необходимый виртуальный каталог на веб-сервере и проверьте работу приложения с помощью эмулятора мобильного устройства.

< Самостоятельная работа 17 || Самостоятельная работа 18: 12 || Лекция 17 >
Михаил Олифиренко
Михаил Олифиренко
Александр Табачук
Александр Табачук

Это только у меня не работает кнопочка "Получить код DreamSpark"? Пишет "временно не доступно..." А когда заработает?

Юрий Тарасов
Юрий Тарасов
Россия, Мегион
Марина Дайнеко
Марина Дайнеко
Россия, Moscow, Nope, 2008