Знакомство с ASP.NET 2.0
Страница 7. Использование новых объектов страницы ASP.NET 2.0


Использование новых объектов страницы ASP.NET 2.0

Объект ClientScriptManager

ClientScriptManager предоставляющий методы для работы скодом сценариев, которые будут использоваться в клиентской части Web-приложения. Теперь все методы, которые в ASP.NET 1.x использовались для регистрации клиентских скриптов или скрытых полей принадлежат классу ClientScriptManager. Например, иногда бывает необходимо регистрировать клиентский сценарий динамически, в зависимости от каких-либо параметров. Например, при перезагрузке страницы форума нужно указать пользователю, что ему пришло новое личное сообщение. Это можно сделать как показано в нижеследующем примере.

protected void Page_Load(object sender, EventArgs e){ if (CheckMail()) {
string startupScript = "<script>" +
"if(confirm('Вам пришло новое сообщение. Прочесть?'))" + 
"window.navigate('/ReadMail.aspx');" +
"</script>";
ClientScript.RegisterStartupScript(this.GetType(), "MailAlertScript", startupScript); }}

Объект HtmlHead

Для каждой страницы ASP.NET, в HTML коде которой присутствует тег <head runat="server"></head> автоматически создается экземпляр объекта HtmlHead, позволяющий управлять заголовком страницы, добавлять теги META и ссылки на каскадные таблицы стилей.
   Раньше разработчику страницы ASP.NET 1.0 приходилось добавлять специальное свойство или переменную в класс страницы или придумывать какой-либо обходной путь для того, чтобы получить возможность управлять заголовком и метаданными страницы. Например, так как это показано в следующем примере.

<head><title><%=Page.Title%></title><%=Page.MetaData%><%=Page.Css%></head>

С появлением объекта HtmlHead подобные ухищрения уходят в прошлое.

Page.Header.Title = "HtmlHead Test Page";Page.Header.Metadata.Add("Author", "Gaidar Magdanurov");
Page.Header.Metadata.Add("E-Mail", "
 Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
 ");

Помимо этого, как и любой элемент, способный содержать вложенные элементы, HtmlHead позволяет добавлять произвольные элементы.

((Control)Page.Header).Controls.Add(new LiteralControl
("<meta https-equiv=\"Content-Type\" content=\"text/html;
charset=windows-1251\">"));

 
« Предыдущая статья   Следующая статья »