|
|
|
Важной особенностью ASP.NET является простое разделение кода и представления. Важность такого разделения сложно переоценить при разработке больших и средних систем. Это, в частности, позволяет создавать намного более гибкую архитектуру и параллелизовать работы по программированию и дизайну.
В ASP.NET, благодаря объектно-ориентированной архитектуры, проблему удалось решить очень элегантно. При генерации класса страницы он наследуется от указанного класса, в котором находтся вся логика. Это позволяет писать логику страницы в файле класса, а интерфейс - в .aspx-файле. Покажем пример такого разделения:
Separate.aspx
<%@ Page Src="separate.cs" Inherits="Separate" %>
<form runat="server">
<asp:Label id="lblMessage" runat="server" />
<asp:Button id="btnSubmit" runat="server" onclick="btnSubmit_Click" text="submit" />
</form>
|
Separate.cs
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public class Separate : Page
{
protected Label lblMessage;
protected Button btnSubmit;
public void btnSubmit_Click( object sender, EventArgs e )
{
lblMessage.Text = "Hello, world";
}
}
|
При этом страницу не нужно даже специально компилоровать - все будет произведено автоматически. Нужно только зайти на страницу и вуаля:

Здесь мы сделаем несколько пояснений касательно доступа к элементам страницы из кода. Первое - это как работать с серверными элементами управления.
Для доступа к ним проще всего объявить члены класса с именами, соответствующими идентификаторам контролов на форме. Они будут автоматически связаны. Разумеется, члены класса должны быть соответствующего типа из System.Web.UI.WebControls.
Второй момент - обработка сообщений. В Visual Studio связывание проихводится автоматически - через панель Messages:
Чтобы достичь того же эффекта самостоятельно, при инициализации страницы нужно добавить делегата в список обработчиков сообщения. Код выглядит подобным образом:
btnSubmit.Click += new EventHandler(btnSubmit_Click);
|
Также обработчик можно прописать прямо в коде страницы, как было сделано в примере выше. Более подробно события будут разобоаны в следующей части.
| << Предыдущая | Следующая >> |
| Контакт | Реклама на сайте | Спонсорам | Веб мастерам |
Лицензионное соглашение
- © 2000-2012 dotSITE
Хостинг .NET предоставлен
PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development