Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Обзор вебформ






Вебформы - это новая для ASP технология. Вебформы введены для удобства разработки приложений. Они позволяют создавать компоненты интерфейса пользователя для многократного использования, что упрощает работу разработчика. Вебконтролы инкапсулируют html код, что позволяет писать код с более четкой логической структурой. Наконец, контролы упрощают создание средств WYSIWYG разработки. Из всех средств, тестировавшихся нами ранее для ASP, только Dreamweaver UltraDev позволял это в приемлемой мере, и то, по сравнению со средствами RAD разработки, его возможности по быстрому созданию качественного кода не впечатляли.
Веб формы - это обычные страницы.
Помимо динамического содержания, создаваемого вашим кодом, вы можете включать в них вебконтролы.
Итак, простейшая вебформа:

simple_form.aspx

< html> < head> < /head> < script language=" C#" runat=" server" > void SubmitBtn_Click(Object sender, EventArgs e) { Message.Text = " Hello, world! "; } < /script> < body> < center> < form method=" post" runat=" server" > < asp: button type=submit text=" hello" OnClick=" SubmitBtn_Click" runat=" server" /> < br> < asp: label id=" Message" runat=" server" /> < /form> < /center> < /body> < /html>

Заметьте, что у формы стоит свойство runat=" server". При запросе страницы, сервер обрабатывает такие контролы и выдает клиенту соответствующий html код.
Здесь же был написан простейший обработчик событий для вебформ. При нажатии на кнопку, когда форма отправляется на сервер, ASP.NET выполняет наш метод SubmitBtn_Click. Это задается в свойстве OnClick кнопки submit.
Наш же метод присваивает полю Text созданного нами контрола Message текст.

48 контролов поставляется с ASP.NET, они включают в себя различные компоненты от календаря до валидаторов. Кроме того, вы всегда можете написать свои для повторного использования, а также использовать созданные другими.
Наиболее часто вы, скорее всего, будете применять валидаторы и котролы, связанные с отображением данных. DataGrid позволит вам быстро вывести содержание выборки пользователю, в то время как DataList и Repeater позволят вам сделать это любым способом через шаблоны (поддерживаются шаблоны заголовков, футеров, самого куска данных и разделителя).
Покажем также пример использования валидатора.

form_validation.aspx

< html> < head> < /head> < body> < form method=" post" runat=" server" > < asp: textbox id=" Text" runat=" server" /> < br> < asp: RequiredFieldValidator ControlToValidate=" Text" Display=" Dynamic" errormessage=" You must enter text in control! " runat=server/> < br> < asp: button type=submit text=" submit" runat=" server" /> < /form> < /body> < /html>

В данном примере имеется одно текстовое поле и RequiredFieldValidator. Это самый простой из валидаторов, он проверяет, имеются ли в заданном ему поле (в данном случае оно называется Text) какие-нибудь данные. Если нет, и пользователь нажмет submit, то при проверке перед отправкой, скрипт выведет сообщение об ошибке заполнения (вы сами указываете это сообщение) и форма не будет отправлена. Если же у пользователя старый броузер, то проверка будет произведена на сервере. В вашем коде вы можете проверить правильность заполнения всех полей с помощью поля Page.IsValid и вывести суммарное сообщение об ошибках с помощью ValidationSummary.

Упомянем о замечательной возможности - разделение кода и представления, что позволит разделить процессы разработки, упростить локализацию приложения и полностью использовать объектно-ориентированный подход. В данном случае нашу простейшую вебформу можно было бы переписать так:

form.aspx

< %@ Page Inherits=" SimpleCode" Src=" form.cs" %> < html> < head> < /head> < body> < form method=" post" runat=" server" > < asp: label id=" text" runat=" server" /> < br> < asp: button type=submit text=" submit" OnClick=" SubmitBtn_Click" runat=" server" /> < br> < /form> < /body> < /html>

form.cs

using System; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; public class SimpleCode: Page { public Label text; public void SubmitBtn_Click(Object sender, EventArgs e) { text.Text = " text"; }}





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.