Легкий путь к великим делам Иван Касатенко Хакер, номер #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. |