Собираюсь начинать новый проект и постепенно приближаюсь к стадии написания некоторых базовых вещей. Решил собрать и систематизировать свои знания об некоторых аспектах разработки ПО на платформе ASP.Net, полученные за более чем год коммерческой разработки. В результате получилась вот такая статья. Она не претендует на принципиально новые вещи, это все давно знают, в определенном смысле это своеобразные best practices. Все, что написано ниже, скорее всего пригодится новичкам, но и опытные разработчики смогут почерпнуть для себя что-нибуть интересное.
В Asp.net любая интернет-страница представляется в виде двух файлов: *.aspx и *.aspx.cs. В *.aspx-файлах содержится html-подобная разметка самой страницы, а в *.aspx.cs-файлах код на языке C#, который представлен в виде отдельного класса. В разметку страницы можно добавлять серверные элементы управления, например тегом <asp: Button ID=«MyButton» runat=«server» />.
С тех пор, как появилась Альтависта, большинство посетителей стали приходить на сайты из поисковых машин. И головной боли стало больше. Теперь мало написать сайт, нужно сделать его совместимым с поисковыми ботами. Одна из тех задач, которую приходится решать — быстрая переиндексация обновлений на сайте. Поисковые роботы чаще посещают те сайты, которые чаще меняются.
Атаки XSS (cross-site scripting) на веб-ресурсы не зависят от платформы, среды разработки, веб-сервера или языка программирования. Основа успеха при этой атаки смешивание кода и данных, когда на сайте данные контента формируются в коде, как, например, в следующем примере:
Обычно при разработке ASP.NET-страниц только самые простые из них не состоят из некоторого числа пользовательских элементов (web user control). Очень часто такие элементы содержат в себе некоторую логику клиентского скрипта написанную в основном на javascript. Проблема может начаться тогда, когда пользовательскому элементу необходимо включить на страницу ссылку на js-файл. Иногда можно увидеть следующее решение проблемы:
Попался на форуме gotdotnet.ru вопрос по отправке e-mail из .NET приложений. Вот как это делаю я:
Сейчас на микрософтовских блогах вовсю пропогандируется Silverlight, кстати уже версии 2.0, не дав пожить версии 1.1 даже трёх недель, ну что ж, возможно через несколько лет эта технология и убъет Flash, как они обещали еще года 2 назад, но на данный момент, flash все-таки рулит.
Я думаю, многим приходится в своей работе пользоваться MasterPages, и решил я
поделиться тем, как можно обращаться из ContentPlaceHolder'a к MasterPage.
Например, на MasterPage находится CheckBox, к которому мы хотим обратиться:
снять пометку, или, наоборот - поставить. Вот его код в Site.master:
<asp:CheckBox ID="chkVideo" runat="server" CssClass="chkText" Text="только с видео" EnableViewState="False" Checked="True" />
Иногда пользователь хочет отменить своё действие, например когда он по ошибке сдела какую-либо операцию. В ASP.NET AJAX довольно просто сделать кнопку "Отмена" и прописать следующее событие на неё. Стоит заметить, что в данном случае отменяется событие на стороне клиента, серверная часть не прерывается.
Два главных правила:
ClientScriptManager предоставляющий методы для работы скодом сценариев, которые будут использоваться в клиентской части Web-приложения. Теперь все методы, которые в ASP.NET 1.x использовались для регистрации клиентских скриптов или скрытых полей принадлежат классу ClientScriptManager.
Програмирование для Web охватывает очень много аспектов реализации разносторонних задач, одной из которых является запоминание пользователей. Для решения этих задач используют либо сессии (сеансы), либо cookie (куки). В этой статье я буду говорить о работе с cookies в ASP.NET.
Сначала немного теории. Файлы cookie посылаются как часть заголовка HTTP и по сути являются парой "ключ-значение". Тема cookie и безопасности обсуждалась не раз, потому здесь я приведу только основные факты:
В коллекции встроенных объектов ASP.NET есть и еще один очень интересный объект, который позволяет приложению напрямую оперировать некоторыми установками WWW-сервера. Данный объект носит полное наименование HttpServerUtility, к нему можно обращаться и с использованием более короткого (фамильярного) имени – Server. Свойств у него немного, но методов вполне достаточно. В общем и целом, можно сказать, что функциональность данного встроенного объекта, как впрочем, и других объектов, должна удовлетворить самого придирчивого разработчика.
Последние комментарии