protected void btnFillGrid_Click(object sender, EventArgs e) {
SqlConnection sqlConn = new SqlConnection("Data Source=.;Initial Catalog=Cars;UID=sa;PWD");
sqlConn.Open();
SqlCommand cmd = new SqlCommand("Select * From Inventory", sqlConn);
carsGridView.DataSource = cmd.ExecuteReader();
carsGridView.DataBind();
sqlConn.Close();
}
Если при создании проекта вы выбрали вариант File System, то при выполнении Web-приложения автоматически cтартует WebDev.WebServer.exe (очевидно, что при выборе IIS этого не будет). В любом случае используемый по умолчанию браузер должен отобразить содержимое страницы.
Отладка и трассировка страниц ASP.NET
Вообще говоря, при создании Web-проекта ASP.NET вы можете использовать те же средства отладки, что и при создании любого другого проекта в Visual Studio 2005. Так, вы можете устанавливать контрольные точки в файле внешнего кода поддержки (и в блоках script файла *.aspx), запускать сеанс отладки (по умолчанию для этого используется клавиша ‹F5›) и использовать режим пошагового выполнения программного кода.
Но, чтобы выполнять отладку Web-приложения ASP.NET, ваш узел должен содержать правильно скомпонованный файл Web.config. В главе 24 структура файлов Web.config рассматривается подробнее, но, по существу, эти XML-файлы служат той же цели, что и файл app.config выполняемого компоновочного блока. Если ваш проект еще не содержит файла Web.config, Visual Studio 2005 это обнаружит и добавит такой файл в ваш проект. Соответствующим элементом является ‹compilation›.
‹configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"›
…
‹system.web›
‹compilation debug="true"/›
‹/system.web›
‹/configuration›
Вы также можете разрешить поддержку трассировки для файла *.aspx, установив для атрибута Trace значение true (истина) в рамках директивы ‹%@Page%›.
‹%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Trace="true" %›
В результате генерируемый HTML-код будет содержать многочисленные подробности, касающиеся предыдущего цикла запроса/ответа HTTP (переменные сервера, сеанса, приложения и т.д.). Чтобы добавить к ним свои собственные сообщения трассировки, можете использовать свойство Trace типа System.Web.UI.Page. В любое время, когда вы пожелаете записать пользовательское сообщение (из блока сценария или файла исходного вода C#), просто вызовите метод Write().
protected void btnFillGrid_Click(object Sender, EventArgs e) {
…
// Генерирование пользовательского сообщения трассировки.
Trace.Write("Моя категория", "Конец заполнения таблицы");
}
Если теперь запустить проект и направить вторичное обращение Web-серверу, вы увидите свою пользовательскую категорию и пользовательское сообщение ближе к концу раздела трассировки перед разделом Control Tree (рис. 23.13).
Рис. 23.13. Запись пользовательских сообщений трассировки
Исходный код.Файл примера CodeBehindPageModel размещен в подкаталоге, соответствующем главе 23.
Структура каталогов Web-узла ASP.NET
Если у вас есть опыт создания Web-приложений с использованием ASP.NET 1.x, для вас можете показаться весьма удивительным то, что множество привычных для вас файлов (Web.config, Global.asax, AssemblyInfo.cs и т.д.) новый Web-узел не включает. Кроме того, шаблон Web Site предлагает папку App_Data, но, кажется, в окне Solution Explorer отсутствует папка References.
Прежде всего, следует подчеркнуть, что файлы Web.config И Global.asax, конечно же, в ASP.NET 2.0 поддерживаются, но вам нужно явно добавить их в проект, выбрав WebSite→Add New Item из меню.
В главе 24 будет рассмотрена роль этих двух файлов, поэтому пока что о деталях не беспокойтесь. Знайте также, что вы можете добавить для Web-узла любое число ссылок на внешние компоновочные блоки .NET с помощью выбора WebSite→Add Reference из меню (при этом, как мы позже убедимся, результат будет немного отличаться от интуитивно ожидаемого).
Другим существенным отличием новой схемы Web-приложений является то, что в Visual Studio 2005 Web-узлы могут содержать целый ряд подкаталогов со специальными именами, имеющими специальные значения в среде выполнения ASP.NET. Эти "специальные подкаталоги" описаны в табл. 23.3.
Таблица 23.3.Специальные подкаталоги ASP.NET 2.0
Подкаталог |
Описание |
App_Browsers |
Папка для файлов определений, которые используются для идентификации браузеров и выявления их возможностей |
App_Code |
Папка для исходного кода компонентов или классов, которые вы хотите компилировать, как часть вашего приложения. Программный код из этого подкаталога компилируется при запросе страниц и автоматически будет доступен вашему приложению |
App_Data |
Папка для хранения файлов *.mdb Access, файлов *.mdf SQL Express, XML-файлов и других наборов данных |
App_GlobalResources |
Папка для файлов *.resx, которые доступны из программного кода приложения |
App_LocalResources |
Папка для файлов *.resx, которые привязаны к конкретной странице |
App_Themes |
Папка с набором файлов, определяющих внешний вид Web-страницы и элементов управления ASP.NET |
App_WebReferences |
Папка для классов агентов, схем и других файлов, связанных с использованием Web-сервисов в приложении |
Bin |
Папка для скомпилированных приватных компоновочных блоков (файлы *.dll). На компоновочные блоки из папки Bin приложение ссылается автоматически |
Добавить любую из этих подпапок в Web-приложение можно явно, выбрав WebSite→Add Folder из меню. Но во многих случаях это сделает сама среда разработки, как только вы "естественным образом" добавите соответствующий файл (например, при добавлении в систему узла нового файла C#, автоматически в структуру каталогов добавляется папка App_Code, если она в этот момент не существует).
Читать дальше