Чего желательно избегать: Response.Write(); HTML-форма и ее ASP-обработчик в одном файле

Архив WebclubHTML и CSS2011

Публикация прежнего Webclub · 2011 год. Примеры и сведения сохранены в историческом контексте.

Response.Write() - проклятие для  дизайнера

Мы можем  записать команду генерации динамического HTML в ASP двумя способами:

1) <%=sShopKey%>

2) Response.Write(sShopKey);

Работают они, с внутренней точки зрения, одинаково. Однако они записываются с несколько различным синтаксисом. Сравните два варианта записи:

1)  <a href="javascript: alert('Name: <%=obj.getName()%>');">

2) <% Response.Write("<a href=\"javascript: alert('Name: "+obj.getName()+"');\">"); %>

    Первый вариант еще выглядит как HTML и доступен для осмысления дизайнером-непрограммистом. Второй вариант, из-за обилия кавычек, конкатенаций и бэкслешей, обычно осмыслению не поддается никак. :( Более того, при достижении определенного уровня сложности, его не могут осмыслить даже авторы через неделю после написания. Поэтому - не стоит использовать Response.Write(...), если это не критично.

HTML-форма и ее ASP-обработчик в одном файле

    Очень хочется развенчать совершенно кошмарный пример, который обычно приводят в туториалах по ASP. Это - объединение HTML-формы и обрабатывающего ее кода в одной ASP-странице. Поначалу это смотрится круто, и кажется что снижение количества файлов  проекта дает прекрасный упрощающий эффект. Поверьте - карма человека, придумавшего этот пример из туториала, запятнана навсегда. А ведь все могло быть так просто - форма в обычном HTML-файле, а обработчик - в ASP. И дизайнер и программист были бы счастливы. Если бы не этот пример из туториала...

Ещё из архива

Архив клуба
веб-разработчиков

HTML, CSS, программирование и история интернета. Публикации прежнего Webclub по своим адресам.

Открыть архив
Сайт на ноутбуке и телефоне