Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #79, ИЮЛЬ 2005 г.

Легкий путь к великим делам

Иван Касатенко

Хакер, номер #079, стр. 079-120-5


<p><asp:Button RunAt="server" OnClick="ClickIt" Text="Суммировать" /></p>

<p><i>Результат: </i><b><asp:Label ID="Result" Text="неопределен" RunAt="server" /></b></p>

</form>

Voila! Сохраняем и пробуем. Результат: после нажатия кнопки надпись меняется (прямо как уроки Delphi в третьем классе). Результат отличный, да только не тот: мы же числа суммировать собирались. Для этого нужно просто немножко исправить обработчик события:

void ClickIt(object sender, EventArgs e)

{

Result.Text = (System.Int32.Parse(n1.Value) + System.Int32.Parse(n2.Value)).ToString();

}

Обрати внимание на строгую типизацию. Теперь тебе не придется разбираться, какого же типа данные были переданы тебе пользователем, как это частенько приходится делать в PHP.

Что же будет, если ввести не число? Правильно, IIS вывалит тебе в браузер страшное сообщение об ошибке, мол, «не число вы ввели, батенька». Эту проблему позволит решить встроенная в C# обработка исключений:

void ClickIt(object sender, EventArgs e)

{

try {

Result.Text = (System.Int32.Parse(n1.Value) +

System.Int32.Parse(n2.Value)).ToString();

} catch (FormatException ex) {

Result.Text = “Вы ввели не число (или вообще ничего не ввели)!”;

} catch (Exception ex) {

Result.Text = “Ошибка суммирования.”;

}

}

Веб-приложение готово. Теперь, если ввести вместо числа какую-нибудь гадость, ASP.NET выплюнет нам ошибку! Все просто и понятно, не правда ли? А если бы ты воспользовался интегрированной средой разработки, то на написание этого чуда у тебя ушло бы еще меньше времени. Не это ли счастье? Возможность излагать свои мысли напрямую, не тренируя геморрой.

[вместо финальной песни]

Как ты уже понял, ASP.NET — огромная по мощи и творческим возможностям платформа. К сожалению, у меня так и не хватило жизненного пространства на страницах журнала, чтобы поговорить подробнее об элементах управления в ASP.NET, доступе к базам данных, расширенном механизме защиты кода и о многих других интересных вещах ;(. Но если эта технология заинтересовала тебя, то вперед к изучению! Тем более что это одна из немногих вещей от Microsoft, которая достается бесплатно.

[разделение кода и данных]

ASP.NET ценна тем, что возможность разделения кода и данных встроена в нее! Не будет больше помоек из HTML-разметки и скриптов! Теперь все аккуратненько, на своих местах. Ты без проблем можешь создать отдельно два файла: ASPX, с формой, дизайном и с кодом на C#. А затем заставишь их дружить. Это делается с помощью директив уровня страницы, которые помогают компилятору ASPX разобраться, в чем же дело.

К примеру, для того чтобы разделить код и данные, в нашем примере нужно вынести ClickIt в отдельный файл “calc.cs”, после чего добавить в начало приложения(ASPX-файла) следующие строки:

<%@ Page Language="C#" Debug="true" %>

<%@ Assembly Src="calc.cs" %>

Они заставят компилятор ASP.NET использовать вместе с формой код на C#, описанный в заданном файле.

CD

Обладая некоторой удачей, на диске ты сумеешь обнаружить несколько примеров веб-приложений на ASP.NET и последний Framework.

WWW

Тучку материалов по ASP.NET на русском языке, а также вполне активный форум ты найдешь на www.aspnetmania.com.

Назад на стр. 079-120-4  Содержание