Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье представлен краткий обзор встроенного кода и модели программной части в ASP.NET.
Исходная версия продукта: ASP.NET
Исходный номер базы знаний: 303247
Итоги
Эта статья относится к пространству System.Web.UIимен библиотеки классов Microsoft платформа .NET Framework.
ASP.NET поддерживает два метода для создания страниц:
- Встроенный код
- Поддерживающий код
Код в строке
Встроенный код — это код, внедренный непосредственно на страницу ASP.NET. Следующий код представляет пример страницы ASP.NET, которая включает встроенный код:
Myinlinecode.aspx
<%@ Language=C# %>
<HTML>
<script runat="server" language="C#">
void MyButton_OnClick(Object sender, EventArgs e)
{
MyLabel.Text = MyTextbox.Text.ToString();
}
</script>
<body>
<form id="MyForm" runat="server">
<asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>
<asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>
<asp:label id="MyLabel" runat="server"></asp:label>
</form>
</body>
</HTML>
Поддерживающий код
Код программной части относится к коду страницы ASP.NET, содержащейся в отдельном файле класса. Это позволяет четко разделить HTML от логики презентации. В следующем примере показана страница ASP.NET программной части:
MyCodebehind.aspx
<%@ Language="C#" Inherits="MyStuff.MyClass" %> <HTML> <body> <form id="MyForm" runat="server"> <asp:textbox id="MyTextBox" text="Hello World" runat="server"></asp:textbox> <asp:button id="MyButton" text="Echo Input" Onclick="MyButton_Click" runat="server"></asp:button> <asp:label id="MyLabel" runat="server" /> </form> </body> </HTML>Mycodebehind.cs
using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MyStuff { public class MyClass : Page { protected System.Web.UI.WebControls.Label MyLabel; protected System.Web.UI.WebControls.Button MyButton; protected System.Web.UI.WebControls.TextBox MyTextBox; public void MyButton_Click(Object sender, EventArgs e) { MyLabel.Text = MyTextBox.Text.ToString(); } } }
В предыдущем примере можно использовать следующий синтаксис для компиляции Mycodebehind.cs:
csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs
При использовании следующего кода страница программной части наследуется от класса Page. Класс Page находится в :System.Web.UI namespace
public class MyClass : Page
Наследование от Page класса предоставляет доступ к ASP.NET встроенным объектам ASP.NET, таким как Request и Response. Кроме того, наследование от Page класса предоставляет платформу для обработки событий для элементов управления на странице ASP.NET.
В предыдущем примере страница программной части компилируется перед запуском ASP.NET. Кроме того, можно ссылаться на класс code-behind с помощью тега SRC следующим образом:
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>
В этом случае ASP.NET компилирует страницу программной части на лету. Этот шаг компиляции возникает только при обновлении файла программной части (который обнаруживается с помощью изменения метки времени).
Поддержка программной части в Visual Studio .NET
При использовании Visual Studio .NET для создания ASP.NET веб-формы страницы программной части — это метод по умолчанию. Кроме того, Visual Studio .NET автоматически выполняет предварительную компиляцию при сборке решения.
Примечание.
Страницы кода, созданные в Visual Studio .NET, включают специальный page атрибут, Code-behindкоторый использует Visual Studio .NET.