#Asp.net

ASP.NET и несколько форм на одной странице

Published at May 5, 2011 ·  3 min read

Рассказ о “странном” баге и о том, как влияет верстка работу всего приложения. При работе с ASP.NET Webforms мы постоянно сталкиваемся с формами. По умолчанию, это одна серверная форма , расположенная сразу же за тегом . Но это, можно сказать, классический пример - такую заготовку делает нам Visual Studio при создании другого проекта. На практике же всё может сильно отличаться.  Следует отметить, что на странице вы не можете создать более одной серверной формы (с атрибутом** runat=”server”**)....


Логирование ошибок в ASP.NET с помощью elmah

Published at February 25, 2011 ·  2 min read

Чем дольше пользуюсь NuGet, тем больше интересных вещей с его нахожу. Одной из таких библиотек является elmah. Простота установки, особенно с использованием NuGet, и широкие возможности настройки подойдут к практически любому проекту. Я сам для этого раньше предпочитал использовать Logging модуль из Microsoft Enterprice Library, но сейчас понял что есть более гибкие и современные решения. Elmah создан специально для того, чтобы логировать ошибки в ASP.NET приложениях. Среди его функций есть такие:...


Request validation в ASP.NET

Published at November 26, 2010 ·  2 min read

Со времен ASP.NET 1.1, по умолчанию, у всех страниц свойство ValidateRequest было равно true. Это означает, что при вводе в поле ввода определенные спецсимволы (пример: <,>,&,#) и отправки формы на сервер мы успешно получим HttpRequestValidationException. Непонятное, на первый взгляд, поведение объясняется достаточно просто - защита от XSS атак. XSS (cross site scripting) - один из типов атак на веб-сайт, целью которой является вставка (инъекция) чужого javascript-кода на атакуемый сайт. Результатами такой атаки могут быть от показа пользователю ненужных ему сообщений, до кражи cookie и перенаправления на другой сайт, который может содержать вредоносный код....


ASP.NET Ajax. Часть 2: Client-side

Published at September 15, 2010 ·  2 min read

1. Введение 2. Обзор framework’а 3. Жизненный цикл страницы 4. Полезные объекты и функции 1. Введение В предыдущем посте из этой серии (ASP.NET Ajax. Часть 1: что внутри?) я рассказал что такое AJAX и как Microsoft помогает нам его использовать. Сегодня я более подробно расскажу о его клиентской части. Частично из-за того, что эту информацию не так просто найти в MSDN, как хотелось бы, частично из-за того, что в последнее время Microsoft уделяет этой части всё меньше внимания, агитируя использовать jQuery, многие разработчики даже на догадываются какой мощных инструмент находится у них в руках....


HTML Decode/Encode и URL Decode/Encode - что, когда и зачем использовать?

Published at September 3, 2010 ·  4 min read

HTML Decode/Encode. Если кто-то слышал об такой атаке на веб-сайты, как XSS Injection, то он(она) знает что для предотвращение такой атаки необходимо использовать функции HtmlEncode/HtmlDecode. XSS Injection (Cross-site injection) - один из способов атак веб-приложений, главной идеей которого является вставка(инъекция) чужого javascript-кода на атакуемый веб-сайт. Как минимум, это может привести к краже печенек cookies и получении прав администратора сайта. … 1.1. ASP.NET Это происходит, примерно, так: Допустим, у нас есть форма для отправки комментарием, где пользователь вводит свой еmail и текст коммеентария....


ASP.NET - что почитать начинающему разработчику?

Published at August 17, 2010 ·  3 min read

В декабре прошлого года я написал пост по названием “Программирование на .NET: С чего начать?” на тему того, чтобы почитать начинающим разработчикам на платформе .NET. С того момента прошло достаточное количество времени и могло появиться желание или необходимость, начать писать веб-приложения на основе технологиеи ASP.NET. Не важно, будет это ASP.NET Webforms или ASP.NET MVC - в любом случаем, знание одной технологии не мешает познакомиться с другой. Далее я приведу список книг/блогов, которые рекомендую для знакомства с веб-разработкой на основе ....


Делаем Hover control с ипользованием ASP.NET и jQuery

Published at June 14, 2010 ·  2 min read

В связи с тем, что я повсеместно пытаюсь избавиться от ASP.NET AJAX Control Toolkit (ACT) и перейти на использование jQuery, то от использования Hover Extender от ACT пришлось отказаться. Сразу же было найдено большое количество разнообразных плагинов для jQuery, но большинство из них имели недостаточную реализацию, из-за чегоостановился на jQuery plugin EZPZ Tooltip. Из основных достоинств данного плагина хочется выделить: “Чистый” HTML - не нужно добавлять специальные атрибуты для элементов, плагин завязывается на отдельный HTML элемент....


DevConf 2010

Published at May 16, 2010 ·  1 min read

DevConf 2010 уже завтра. До поезда в Москву осталось чуть более 3-х часов. Посмотрел финальную програму и немного расстроился: даже не смотря на то, что едем мы вдвоём, из-за плотного расспеисания и немкольких паралельных потоков врядли получится попасть на все интересующие доклады :(. Надеюсь что организаторы запишут и выложут видео....


ASPNET: Script Service

Published at December 3, 2009 ·  1 min read

Почему-то, всегда забываю синтаксис вызова script service/method. Руки так и тянуться написать: И каждый раз, после написания такого когда приходится лезть в MSDN/Google чтобы понять почему же оно не работает. После прочтения документации становится понятно “как” нужно писать вызов метода, но вопрос “почему” ответ, как правило, находится не сразу. Чтобы понять почему же всё работает именно так, достаточно посмотреть JavaScript код, который генерируется службой. Посмотреть это можно зайдя по адресу http://localhost:65456/AsmxService....


ASP.NET + Mono + Apache

Published at September 22, 2009 ·  2 min read

Всё больше и больше можлно услышать о Mono. Как изестно, основное его идеей является реализация действительно кроссплатформенной среды .NET. Таким образом, чеще всего Mono испльзуют в операционной системе, отличной от MS Windows. А если не Windows, то Linux или какой-то из Unix. И всё было бы хорошо, если б не 2 момента (в данном случае я не акцентрирую внимание на степень готовности реализации Mono: аналог WinForms и замена Internet Information Services (IIS)....


ASP.NET, сэссия и рестарт приложения

Published at June 9, 2009 ·  3 min read

Всё началось с того, что в спецификации к проекту написали примерно такое: “Время продолжительности сэссии пользователя на сайте должно составлять 120 минут”. После чего, в web.config была добавлена следующая строка:  <p> <em><sessionState mode="InProc" cookieless="false" timeout="120" /> </em> </p> А на страницу был добавлен такой мета-тег: <p> <strong><meta http-equiv="Refresh" content="7200; URL=/EzRc/Pages/LogOn/SessionExpired.aspx" /> </strong> </p> Следует упомянуть конфигурацию тестовых серверов: Windows Vista/2008, IIS7, .NET 3.5. Ничто не предвещало беды....


ASP.NET Ajax. Часть 1: что внутри?

Published at April 2, 2009 ·  2 min read

На днях столкнулся такой ситуацией, что многие некоторые разработчики при упоминании Ajax имеют в виду компонент UpdatePanel и не понимают как она работает. Сегодня я решил попытаться исправить эту ситуацию и рассказать что такое и как устроен ASP.NET Ajax.  Для начала обратимся Википедии и посмотрим, что такое Ajax: <p> AJAX (Asynchronous Javascript and XML — «асинхронный JavaScript и XML») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером....


Настройка совместной работы ASP.NET MVC и IIS 6

Published at November 30, 2008 ·  1 min read

Уже немала было написано на эту тему, но в статье http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx пошли немного дальше: теперь url rewriting настроен таким образом, что нет необходимости в имени контроллера в пути прописывать расширение. Не буду утверждать что это что-то новое, но я до этого использовал пути вроде http://localhost/mvcsite/home.mvc....


IronPython и ASP.NET

Published at October 30, 2008 ·  1 min read

В предыдущем посте я рассказал как подружить Visual Studio и IronPython. Сегодня мы напишем первое приложение на ASP.NET на языке IronPython. Для начала необходимо скачать ASP.NET Dynamic Language Support, который включает в себя документацию и два примера: ASP.NET MVC IronPython Sample и ASP.NET Webforms IronPython Sample. Webforms sample- это обычный web site проект с такими файлами:   К сожалению, в текущей версии не поддердивается проект Web Application. C ASP.NET MVC Sample всё на много интереснее....


Несколько слов о ASP.NET и безопастности

Published at September 23, 2008 ·  1 min read

Навеянно постом “Asp.NET контроли і HtmlEncode”. Сейчас уже многие пользуются методами HtmlEncode/HtmlDecode и UrlEncode/UrlDecode для обработки данных, которые ввел пользователь. Но эти медоты используют базовый алгоритм, что может не подходить для частных случаев, таких как использование данных в качестве атрибутов html-тегов и других. Более спецефические методы нам предоставлены в библиотеке Microsoft Anti-Cross Site Scripting Library. Более подробно о ней и ещё преимуществах написано в документации. Также для нахождения Sql и XSS Injection предоставлены Microsoft Source Code Analyzer for SQL Injection и XSS Detect Beta Code Analysis Tool соответственно....


Ajax и загрузка файлов на сервер

Published at September 14, 2008 ·  2 min read

Время от времени приходится организовывать возможность загрузки пользователями файлов на сервер: загрузка аватарок, файлов для галереи и т.д. Для решения этой задачи существует стандартный ASP.NET компонент FileUpload, который, в свою очередь, педставляет html-тэг . В простнйшем случае код для загрузки файлов будет выглядеть так: - Default.aspx: <%@ Page Language=“C#” AutoEventWireup=“true” CodeBehind=“Default.aspx.cs” Inherits=“WebApplication1._Default” %> - - <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns=“http://www.w3.org/1999/xhtml"> - <head runat=“server”> - <title></title> - </head> - <body> - <form id=“form1” runat=“server”> - <div> - input type=“submit” value=“Upload” /> - </div> - </form> - </body> - </html> - - - Default....


Мобильный веб

Published at August 28, 2008 ·  1 min read

C каждым днём мобильный интернет становится всё более доступным. Мобильный телефон с gprs перестал быть диковиной. Даже wap постепенно уходит в прошлое. Wap перестаёт устраивать рядовых пользователей и заставляет разработчиков учитывать особенности мобильных браузеров. Всё больше сайты имеют свою облегчённую, мобильную версию. Но что нужно сделать чтоб и ваш сайт смог корректно отображаться на мобильном браузере? Для начала он должен соответствовать стандарту XHTML™ 1.0, т.к. большинство браузеров на мобильных телефонах и PDA могут корректно обработать такой контент....


.NET 3.5 SP1 и первые проблемы

Published at August 22, 2008 ·  1 min read

Свершилось! Несколько дней назад вышел 8319-81da479ab0d7&displaylang=en” target=”_blank”>.net 3.5 service pack 1. В месте с ним мы получили ASP.NET Dynamic Data, Entity Framework, ADO.NET Data Services и много чего другого. Подообнее можно почитать тут. Но, разумеется, в каждой бочке мёда найдётся своя ложка дёгтя. Ей стал Ajax Control Toolkit, а именно одни из его базовых компонентов - ToolkitScriptManager. После установки .net 3.5 sp1 ToolkitScriptManager, входящий в состав Microsoft Ajax Control toolkit, перестал правильно функционировать....


ASP.NET и правильный выбор имен классов

Published at June 27, 2008 ·  1 min read

На днях в очередной раз столкнулся с проблемой: после разворачивания приложения на сервере на нескольких страницах появляется 500-я ошибка. Процесс развертывания приложения проходит следующим образом: - разработка и отладка приложения на машине разработчика - cборка проекта с помощью aspnet_compiler - коирование на тестовый сервер На этих шагах все работает отлично, а дальше получаем стандартную желтую страницу с ошибкой о невозможности найти нужный класс. В данном случае проблема была со страницей восстановления пароля, на которой находился только компонент PasswordRecovery....


Win the Web - 24 часа ада!

Published at April 24, 2008 ·  1 min read

Осталоcь всего 7 дня до конца регистрации на конкурс Win the Web. Конкурс web-разработчиков на платформе Microsoft. Особенность его состоит в том, что он будет проходить непрерывно 24 часа! Проводится в два этапа: после локального этапа две команды (одна студенческая и вторая команда профессиональных разработчиков) едут на финал. Поко что от Украины зарегистрировано лишь две команды. Для участия нужно зарегистрироваться на сайте и до первого мая загрузить mini application. Подробнее о правилах и об участии написано на их сайте....


MS Ajax и сторонние скрипты

Published at April 5, 2008 ·  2 min read

Интеграция различных скриптов на страницу, где используется MS Ajax - задача нередкая, но единого решения для неё не существует. Я поделюсь с вами некоторыми методами, которые помогут интегрировать срипт в вашу страницу. <li> Никогда не подключайте скрипты с помощью тега <font size="2" color="#0000ff"><font size="2" color="#0000ff"><</font></font><font size="2" color="#a31515"><font size="2" color="#a31515">script</font></font><font size="2"> </font><font size="2" color="#ff0000"><font size="2" color="#ff0000">src</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">="..."></</font></font><font size="2" color="#a31515"><font size="2" color="#a31515">script</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">></font></font>. Вместо этого следует использовать копмонени ScriptManager либо ScriptManagerProxy....


WebApp и Visual Studio 2008

Published at January 20, 2008 ·  1 min read

В новой студии, по умолчанию, при создании веб-приложения на master page добавляется ещё один ContentPlaceHolder: <br /> <head runat="server"><br /> <asp:ContentPlaceHolder ID="head" runat="server"><br /> </asp:ContentPlaceHolder><br /> </head><br /> <br /> <title> Untitled Page </title> <title>My page</title> <br /> <li>Явно присвоить в коде свойству Title страницы название:<br /> Title = “My page”;</li><br /> <li>Указать атрибут страице:<br /> <%@ Page Language="C#" MasterPageFile="~/MyMaster.Master" AutoEventWireup="true" CodeBehind="MyPage.aspx.cs" Inherits="MySite.Pages" Title="My Page" %></li><br /> <li>Установить тег title:<br /> <blockquote> <br /> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"><br /> <title>My Page </blockquote> </li> ...




Archives

2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (35)
2010 (25)
2009 (35)
2008 (32)
2007 (2)