Страница 7 из 11
Использование новых объектов страницы ASP.NET 2.0Объект ClientScriptManagerClientScriptManager предоставляющий методы для работы скодом сценариев, которые будут использоваться в клиентской части 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\">")); |