<asp:Label ID="Label1" runat="server" Text="Click Me!">
</asp:Label><br />
<br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click"
Text="Button" /></div>
</form>
</body>
</html>

А это файл TestFormCodeBehind.aspx.cs:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class TestFormCodeBehind : System.Web.UI.Page
{
  protected void Button1_Click(object sender, EventArgs e)
  {
    Label1.Text = "Current time: " + DateTime.Now.ToLongTimeString();
  }
}

Единственное реальное отличие этого кода состоит в том, что класс страницы больше не является неявным — наоборот, он объявлен и содержит все методы страницы.

В общем, модель скрытого кода предпочтительна для сложных страниц. Хотя модель встраивания кода является слегка более компактной для небольших страниц, по мере роста кода и HTML отдельная работа с обеими частями намного упрощается. Модель скрытого кода также является концептуально более чистой, поскольку явно определяет созданный вами класс и импортированные пространства имен. Наконец, модель скрытого кода позволяет Web-дизайнеру работать над разметкой ваших страниц без воздействия на код. Во всех примерах настоящей книги используется именно модель скрытого кода.

Связывание файлов скрытого кода со страницами

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

Определять местонахождение связанного кода можно несколькими способами. В предыдущих версиях ASP.NET было распространено использование атрибута Src для указания на исходный код либо атрибута Inherits для указания на имя скомпилированного класса. Однако обе эти возможности имеют свои индивидуальные особенности.

предыдущая    следующая страница   оглавление

86

Hosted by uCoz