<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AJAX Planet &#187; atlas</title>
	<atom:link href="http://www.ajaxplanet.ru/tag/atlas/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxplanet.ru</link>
	<description></description>
	<lastBuildDate>Thu, 13 Oct 2011 13:00:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>И снова ASP.NET AJAX 1.0</title>
		<link>http://www.ajaxplanet.ru/i-snova-aspnet-ajax-10/</link>
		<comments>http://www.ajaxplanet.ru/i-snova-aspnet-ajax-10/#comments</comments>
		<pubDate>Wed, 31 Jan 2007 07:39:06 +0000</pubDate>
		<dc:creator>Boris Bogdanov</dc:creator>
				<category><![CDATA[atlas]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Библиотеки и фреймворки]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[ASP.NET-AJAX]]></category>
		<category><![CDATA[cheat-sheet]]></category>
		<category><![CDATA[безопасность]]></category>

		<guid isPermaLink="false">http://www.ajaxplanet.ru/i-snova-aspnet-ajax-10/</guid>
		<description><![CDATA[Как и было обещано после выхода ASP.NET AJAX 1.0 (codename Atlas), были выпущены и исходники всего пакета. Исходники включают и код серверной интеграции с ASP.NET (в том числе такие базовые контролы, как UpdatePanel, UpdateProgress и ScriptManager). ASP.NET AJAX JavaScript library (она же &#8221;Microsoft AJAX Library&#8221;) выпущена под лицензией Microsoft Permissive (Ms-PL). Исходники всех контролов, входящих в ASP.NET AJAX Control Toolkit и [...]]]></description>
			<content:encoded><![CDATA[<p>Как и было <noindex><a href="http://weblogs.asp.net/scottgu/archive/2007/01/23/asp-net-ajax-1-0-released.aspx">обещано после выхода ASP.NET AJAX 1.0</a></noindex> (codename Atlas), были <noindex><a href="http://weblogs.asp.net/scottgu/archive/2007/01/30/asp-net-ajax-1-0-source-code-released.aspx">выпущены и исходники</a></noindex> всего пакета. Исходники включают и код серверной интеграции с ASP.NET (в том числе такие базовые контролы, как UpdatePanel, UpdateProgress и ScriptManager).</p>
<p>ASP.NET AJAX JavaScript library (она же &#8221;Microsoft AJAX Library&#8221;) выпущена под лицензией <noindex><a href="http://www.microsoft.com/resources/sharedsource/licensingbasics/permissivelicense.mspx">Microsoft Permissive (Ms-PL)</a></noindex>. Исходники всех контролов, входящих в ASP.NET AJAX Control Toolkit и разрабатываемые в рамках <a target="_blank" href="http://www.codeplex.com/AtlasControlToolkit">CodePlex Project</a></noindex> были доступны и ранее.</p>
<p>К выходу итогового релизы приурочено и появление <noindex><a href="http://www.aspnetresources.com/blog/ms_ajax_cheat_sheets_batch2.aspx">Microsoft AJAX Library cheat sheets </a></noindex>(как бы корректнее перевести &#8220;cheat sheet&#8221;? ну не &#8220;шпаргалка&#8221; же!).</p>
<p>Кроме того, рекомендую почитать <noindex><a href="http://smarx.com/posts/asp-net-ajax-security-webcasts-miss-the-point.aspx">очень любопытную статью, касающуюся безопасности в ASP.NET AJAX</a></noindex> и еще одну <noindex><a href="http://smarx.com/posts/ajax-enabled-vista-sidebar-gadgets.aspx">про использование ASP.NET AJAX в Vista sidebar</a></noindex></p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; <a href="http://www.ajaxplanet.ru">AJAX Planet</a>, 2007. |
	  <a href="http://www.ajaxplanet.ru/i-snova-aspnet-ajax-10/">Постоянная ссылка</a> |
	  <a href="http://www.ajaxplanet.ru/i-snova-aspnet-ajax-10/#comments">Комментарии</a></p>
	
	<p>Интересна эта тема? Посмотрите архив сообщений по теме <a href="http://www.ajaxplanet.ru/category/atlas/" title="Просмотреть все записи в рубрике &laquo;atlas&raquo;" rel="category tag">atlas</a>, <a href="http://www.ajaxplanet.ru/category/microsoft/" title="Просмотреть все записи в рубрике &laquo;Microsoft&raquo;" rel="category tag">Microsoft</a>, <a href="http://www.ajaxplanet.ru/category/libraries-and-frameworks/" title="Просмотреть все записи в рубрике &laquo;Библиотеки и фреймворки&raquo;" rel="category tag">Библиотеки и фреймворки</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxplanet.ru/i-snova-aspnet-ajax-10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Выпущен ASP.NET AJAX Beta 1</title>
		<link>http://www.ajaxplanet.ru/asp-net-ajax-beta-1-released/</link>
		<comments>http://www.ajaxplanet.ru/asp-net-ajax-beta-1-released/#comments</comments>
		<pubDate>Mon, 23 Oct 2006 06:54:00 +0000</pubDate>
		<dc:creator>Boris Bogdanov</dc:creator>
				<category><![CDATA[atlas]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Библиотеки и фреймворки]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[ASP.NET-AJAX]]></category>

		<guid isPermaLink="false">http://www.ajaxplanet.ru/asp-net-ajax-beta-1-released/</guid>
		<description><![CDATA[Как я уже писал, Микрософт определился со своими планами по поводу проекта &#8220;Atlas&#8221;, своей реализации AJAX. Итак, микрософтовцы решили именовать этот проект просто ASP.NET AJAX и обещали разделить Atlas на несколько компонентов и включить его ядро в состав следующей версии ASP.Net. Что ж, на пршлой неделе мы увидели первые последствия этого решения: был выпущен ASP.NET [...]]]></description>
			<content:encoded><![CDATA[<p>Как я <noindex><a href="http://www.ajaxplanet.ru/microsoft-atlas-plans/">уже писал</a></noindex>, Микрософт определился со своими планами по поводу проекта &#8220;Atlas&#8221;, своей реализации AJAX. Итак, микрософтовцы решили именовать этот проект просто ASP.NET AJAX и обещали разделить Atlas на несколько компонентов и включить его ядро в состав следующей версии ASP.Net. Что ж, на пршлой неделе мы увидели первые последствия этого решения: был выпущен <noindex><a href="http://ajax.asp.net/">ASP.NET AJAX Beta 1.</a></noindex></p>
<p>Как и было обещано, проект разделили на компоненты. Что очень порадовало, наконец-то, занялись оптимизацией: JavaScript теперь &#8212; не один здоровый и тяжелый файл, а несколько достаточно компактных, подключаемых по необходимости. Более того, оптимизация JavaScript не свелась просто к разделению файлов, занялись и содержимым, скриптовая составляющая стала компактнее, так что у пользователя и загрузка должна походить заметно быстрее. Есть ощущение, что и сами библиотеки стали работать шустрее. По заявлениям разработчиков, позаботились они и о снижении объема служебного трафика, впрочем, не проверял. Что интересно, пусть и не так актуально лично для меня, микрософтовский AJAX заработал и с Safari (раньше с совместимостью у Atlas были <noindex><a href="http://www.ajaxplanet.ru/provalnoe-testirovanie-ms-atlas/">большие проблемы</a></noindex>&#8230;). У Скотта Гатери (Scott Guthrie) в блоге есть <noindex><a href="http://weblogs.asp.net/scottgu/archive/2006/10/20/ASP.NET-AJAX-Beta-1-Released.aspx">большой и подробный обзор</a></noindex> нового релиза.<br />
В самом процессе разработки за 2 дня работы с новым релизом каких-то особенных эпохальных отличий в работе я не увидел. Ранее написанные код работает с новыми библиотеками без каких-либо проблем.</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; <a href="http://www.ajaxplanet.ru">AJAX Planet</a>, 2006. |
	  <a href="http://www.ajaxplanet.ru/asp-net-ajax-beta-1-released/">Постоянная ссылка</a> |
	  <a href="http://www.ajaxplanet.ru/asp-net-ajax-beta-1-released/#comments">Комментарии</a></p>
	
	<p>Интересна эта тема? Посмотрите архив сообщений по теме <a href="http://www.ajaxplanet.ru/category/atlas/" title="Просмотреть все записи в рубрике &laquo;atlas&raquo;" rel="category tag">atlas</a>, <a href="http://www.ajaxplanet.ru/category/microsoft/" title="Просмотреть все записи в рубрике &laquo;Microsoft&raquo;" rel="category tag">Microsoft</a>, <a href="http://www.ajaxplanet.ru/category/libraries-and-frameworks/" title="Просмотреть все записи в рубрике &laquo;Библиотеки и фреймворки&raquo;" rel="category tag">Библиотеки и фреймворки</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxplanet.ru/asp-net-ajax-beta-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Планы Microsoft относительно Atlas</title>
		<link>http://www.ajaxplanet.ru/microsoft-atlas-plans/</link>
		<comments>http://www.ajaxplanet.ru/microsoft-atlas-plans/#comments</comments>
		<pubDate>Tue, 12 Sep 2006 07:38:50 +0000</pubDate>
		<dc:creator>Boris Bogdanov</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[atlas]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Библиотеки и фреймворки]]></category>
		<category><![CDATA[ASP.NET-AJAX]]></category>
		<category><![CDATA[фреймворк]]></category>

		<guid isPermaLink="false">http://www.ajaxplanet.ru/microsoft-atlas-plans/</guid>
		<description><![CDATA[А между тем, наконец, появилась информация по поводу планов Microsoft относительно Atlas, микрософтовской реализации AJAX. Данные появились в блоге Скота Гатери (Scott Guthrie), General Manager в Microsoft Developer Division: &#8220;Atlas&#8221; 1.0 Naming and Roadmap. Пост содержит множество деталей, попробуем коротко сформулировать основное: Стабильная версия Atlas будет выпущена в конце этого года. &#8220;Atlas&#8221; останется лишь кодовым [...]]]></description>
			<content:encoded><![CDATA[<p>А между тем, наконец, появилась информация по поводу планов Microsoft относительно <noindex><a href="http://atlas.asp.net/">Atlas</a></noindex>, микрософтовской реализации AJAX. Данные появились в блоге Скота Гатери (Scott Guthrie), General Manager в Microsoft Developer Division: <a title="http://weblogs.asp.net/scottgu/archive/2006/09/11/_2200_Atlas_2200_-1.0-Naming-and-Roadmap.aspx" href="http://weblogs.asp.net/scottgu/archive/2006/09/11/_2200_Atlas_2200_-1.0-Naming-and-Roadmap.aspx">&#8220;Atlas&#8221;  1.0 Naming and Roadmap</a></noindex>. Пост содержит множество деталей, попробуем коротко сформулировать основное:</p>
<p>Стабильная версия Atlas будет выпущена в конце этого года. &#8220;Atlas&#8221; останется лишь кодовым названием продукта, более того, текущая версия будет разделена на составляющие: отдельно будет выпущено &#8220;ядро&#8221;, расширения будут выкладываться отдельно. Детального списка того, что войдет в &#8220;ядро&#8221; пока нет.</p>
<p>Будут выделены следующие компоненты:</p>
<ol>
<li><strong>Microsoft AJAX Library</strong> &#8212; клиентская javascript-библиотека, которая будет работать в любом браузере и сможет взаимодействовать с любым бэкэндом (в данный момент уже появились посты, описывающие взаимодействие с PHP и ColdFusion).</li>
<li><strong>ASP.NET 2.0 AJAX Extensions</strong> &#8212; серверная часть сегодняшнего &#8220;Atlas&#8221;, отвечающая за интеграцию с ASP.NET. В частности это проявится в том, что официальный тег-префикс для атласовских контролов сменится с atlas: на asp:. В дальнейшем базовый функционал и основные контролы войдут в следующую версию ASP.NET.</li>
<li><strong>ASP.NET AJAX Control Toolkit &#8212; </strong>то, что сегодня называется <noindex><a href="http://atlas.asp.net/default.aspx?tabid=47&#038;subtabid=477">“Atlas” Control Toolkit</a></noindex>, т.е. набор бесплатных контролов и компонент с открытым исходным кодом, позволяющих более полно использовать возможности  ASP.NET AJAX Extensions.</li>
</ol>
<p>Также обещано море вкусностей, связанных с готовящейся к выпуску в следующем году Visual Studio &#8220;Orcas&#8221;.</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; <a href="http://www.ajaxplanet.ru">AJAX Planet</a>, 2006. |
	  <a href="http://www.ajaxplanet.ru/microsoft-atlas-plans/">Постоянная ссылка</a> |
	  <a href="http://www.ajaxplanet.ru/microsoft-atlas-plans/#comments">Комментарии</a></p>
	
	<p>Интересна эта тема? Посмотрите архив сообщений по теме <a href="http://www.ajaxplanet.ru/category/ajax/" title="Просмотреть все записи в рубрике &laquo;AJAX&raquo;" rel="category tag">AJAX</a>, <a href="http://www.ajaxplanet.ru/category/atlas/" title="Просмотреть все записи в рубрике &laquo;atlas&raquo;" rel="category tag">atlas</a>, <a href="http://www.ajaxplanet.ru/category/microsoft/" title="Просмотреть все записи в рубрике &laquo;Microsoft&raquo;" rel="category tag">Microsoft</a>, <a href="http://www.ajaxplanet.ru/category/libraries-and-frameworks/" title="Просмотреть все записи в рубрике &laquo;Библиотеки и фреймворки&raquo;" rel="category tag">Библиотеки и фреймворки</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxplanet.ru/microsoft-atlas-plans/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Динамическое добавление ConfirmButtonExtender</title>
		<link>http://www.ajaxplanet.ru/dinamicheskoe-dobavlenie-confirmbuttonextender/</link>
		<comments>http://www.ajaxplanet.ru/dinamicheskoe-dobavlenie-confirmbuttonextender/#comments</comments>
		<pubDate>Tue, 15 Aug 2006 13:08:51 +0000</pubDate>
		<dc:creator>Boris Bogdanov</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[atlas]]></category>
		<category><![CDATA[Статьи про MS Atlas]]></category>
		<category><![CDATA[Библиотеки и фреймворки]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[ASP.NET-AJAX]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.ajaxplanet.ru/dinamicheskoe-dobavlenie-confirmbuttonextender/</guid>
		<description><![CDATA[Я уже показывал, что во многих случаях для создания веб-приложения при помощи Atlas вообще не требуется собственно программировния. Сплошной drag&#8217;n'drop, настройка папаметров и &#8220;декларативное программирование&#8221;, когда контролы напоминают шестеренки в механизме, а вы просто указываете, какая шестеренка и как зацепляет свою соседку. Однако зачастую этого недостаточно и контролы из того же Atlas Control Toolkit приходится [...]]]></description>
			<content:encoded><![CDATA[<p>Я уже  показывал, что во многих случаях <noindex><a href="http://www.ajaxplanet.ru/ms_atlas-updatepanel-basics/">для создания веб-приложения при помощи Atlas вообще не требуется собственно программировния</a></noindex>. Сплошной drag&#8217;n'drop, настройка папаметров и &#8220;декларативное программирование&#8221;, когда контролы напоминают шестеренки в механизме, а вы просто указываете, какая шестеренка и как зацепляет свою соседку. Однако зачастую этого недостаточно и контролы из того же Atlas Control Toolkit приходится добавлять динамически.</p>
<p>Простой пример &#8212; корзина заказа. На странице выводится список предзаказанных товаров, происходит окончательная проверка, а затем &#8212; непосредственно отправка заказа. Предположим, что мы хотим при отправке спросить, действительно ли клиент уверен, что все поля заполнены правильно. Естественным выбором, если вы используете Atlas, будет <noindex><a href="http://atlas.asp.net/atlastoolkit/ConfirmButton/ConfirmButton.aspx">ConfirmButtonExtender</a></noindex>. Одна беда &#8212; а что, если у нас в корзине нет товаров и, соответственно, отсутствует кнопка &#8220;заказать&#8221;, к которой привязывается <noindex><a href="http://atlas.asp.net/atlastoolkit/ConfirmButton/ConfirmButton.aspx">ConfirmButtonExtender</a></noindex>? Он, конечно же, будет выдавать ошибку. Значит, нам придется проверять, есть ли в форме эта кнопка и динамически добавлять контрол. Беда только в том, что в документации примера нет, но ничего обойдемся.</p>
<p>Итак, есть кнопка btnOrder, расположенная внутри UpdatePanel upButton. И есть наш контрол ConfirmButtonExtender, который принимает 2 параметра: TargetControlID (ID кнопки, на которую вешаем подтверждение) и ConfirmText  (вопрос, который мы задаем пользователю). Итак:</p>
<p><code lang="c#">//создаем новый ConfirmButtonExtender<br />
AtlasControlToolkit.ConfirmButtonExtender cbeOrderBtn =  new AtlasControlToolkit.ConfirmButtonExtender();</p>
<p>//создаем настройки  ConfirmButtonProperties<br />
AtlasControlToolkit.ConfirmButtonProperties cbeProp =  new AtlasControlToolkit.ConfirmButtonProperties();</p>
<p>//добавляем параметр ConfirmText<br />
cbeProp.ConfirmText = "Заказ сформирован правильно?";</p>
<p>//добавляем параметр  TargetControlId<br />
cbeProp.TargetControlID = btnOrder.ID;</p>
<p>//сопоставляем наш ConfirmButtonExtender и его свойства<br />
cbeOrderBtn.TargetProperties.Add(cbeProp);</p>
<p>//добавляем контрол в панель upButton<br />
upButton.Controls.Add(cbeOrderBtn);<br />
</code></p>
<p>Ну вот и все =)</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; <a href="http://www.ajaxplanet.ru">AJAX Planet</a>, 2006. |
	  <a href="http://www.ajaxplanet.ru/dinamicheskoe-dobavlenie-confirmbuttonextender/">Постоянная ссылка</a> |
	  <a href="http://www.ajaxplanet.ru/dinamicheskoe-dobavlenie-confirmbuttonextender/#comments">Комментарии</a></p>
	
	<p>Интересна эта тема? Посмотрите архив сообщений по теме <a href="http://www.ajaxplanet.ru/category/ajax/" title="Просмотреть все записи в рубрике &laquo;AJAX&raquo;" rel="category tag">AJAX</a>, <a href="http://www.ajaxplanet.ru/category/atlas/" title="Просмотреть все записи в рубрике &laquo;atlas&raquo;" rel="category tag">atlas</a>, <a href="http://www.ajaxplanet.ru/category/ms-atlas-articles/" title="Просмотреть все записи в рубрике &laquo;Статьи про MS Atlas&raquo;" rel="category tag">Статьи про MS Atlas</a>, <a href="http://www.ajaxplanet.ru/category/libraries-and-frameworks/" title="Просмотреть все записи в рубрике &laquo;Библиотеки и фреймворки&raquo;" rel="category tag">Библиотеки и фреймворки</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxplanet.ru/dinamicheskoe-dobavlenie-confirmbuttonextender/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Atlas July CTP и новый Atlas Control Toolkit</title>
		<link>http://www.ajaxplanet.ru/atlas-july-ctp/</link>
		<comments>http://www.ajaxplanet.ru/atlas-july-ctp/#comments</comments>
		<pubDate>Wed, 09 Aug 2006 09:05:12 +0000</pubDate>
		<dc:creator>Boris Bogdanov</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[atlas]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Технологии]]></category>
		<category><![CDATA[Библиотеки и фреймворки]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[ASP.NET-AJAX]]></category>

		<guid isPermaLink="false">http://www.ajaxplanet.ru/atlas-july-ctp/</guid>
		<description><![CDATA[Как-то я пропустил выход новой версии Atlas &#8212; Atlas July CTP. Основные изменения &#8212; багфиксы (скажем честно, пока это достаточно актуально). Кроме того, была выпущена новая версия Atlas Control Toolkit. На текущий момент в Atlas Control Toolkit входит 21 контрол. В последний релиз вошли несколько новинок, в том числе NumericUpDown, который я вчера начал делать [...]]]></description>
			<content:encoded><![CDATA[<p>Как-то я пропустил выход новой версии Atlas &#8212; <noindex><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=D746076A-3352-4407-B9D5-832BA4DFFC7B&#038;displaylang=en">Atlas July CTP</a></noindex>. Основные изменения &#8212; багфиксы (скажем честно, пока это достаточно актуально). Кроме того, была выпущена новая версия <noindex><a href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=AtlasControlToolkit">Atlas Control Toolkit</a></noindex>.</p>
<p>На текущий момент в Atlas Control Toolkit входит 21 контрол. В последний релиз вошли несколько новинок, в том числе NumericUpDown, который я вчера начал делать сам =). Что интересно, Atlas Toolkit разрабатывается в духе open source на сайте <noindex><a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=AtlasControlToolkit"> CodePlex</a></noindex> и в этот релиз включены первые контролы от сторонних разработчиков &#8212; PasswordStrengthExtender (автор Paul Glavich) и FilteredTextBox (Christian Wenz). Похоже, Microsoft чему-то учится. Приятно. К концу года обещано 50 контролов.<br />
<font size="2" face="arial" /></p>
<p><font size="2" face="arial"><font size="2" face="arial" /></font><font size="2" face="arial"> </font></p>
<p style="margin: 0in 0in 10pt" class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: 'Arial','sans-serif'"><font size="2" face="arial"></font><font size="2" face="arial"><font size="2" face="arial" /></font></span></p>
<p><font size="2" face="arial"></font><font size="2" face="arial"><font size="2" face="arial" /></font><font size="2" face="arial"> </font></p>
<p style="margin: 0in 0in 10pt" class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: 'Arial','sans-serif'"><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"><img alt="Atlas Toolkit July" id="image263" src="http://www.ajaxplanet.ru/wp-content/uploads/2006/08/atlas-toolkit-july.png" /><br />
</font></span></p>
<p><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"><font size="2" face="arial" /></font><font size="2" face="arial"> </font>
</p>
<p style="margin: 0in 0in 10pt" class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: 'Arial','sans-serif'"><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"><font size="2" face="arial" /></font></span></p>
<p><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"><font size="2" face="arial" /></font><font size="2" face="arial"> </font></p>
<p style="margin: 0in 0in 10pt" class="MsoNormal"><span style="font-size: 10pt; line-height: 115%; font-family: 'Arial','sans-serif'"><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"></font><font size="2" face="arial"><font size="2" face="arial" /></font></span></p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; <a href="http://www.ajaxplanet.ru">AJAX Planet</a>, 2006. |
	  <a href="http://www.ajaxplanet.ru/atlas-july-ctp/">Постоянная ссылка</a> |
	  <a href="http://www.ajaxplanet.ru/atlas-july-ctp/#comments">Комментарии</a></p>
	
	<p>Интересна эта тема? Посмотрите архив сообщений по теме <a href="http://www.ajaxplanet.ru/category/ajax/" title="Просмотреть все записи в рубрике &laquo;AJAX&raquo;" rel="category tag">AJAX</a>, <a href="http://www.ajaxplanet.ru/category/atlas/" title="Просмотреть все записи в рубрике &laquo;atlas&raquo;" rel="category tag">atlas</a>, <a href="http://www.ajaxplanet.ru/category/microsoft/" title="Просмотреть все записи в рубрике &laquo;Microsoft&raquo;" rel="category tag">Microsoft</a>, <a href="http://www.ajaxplanet.ru/category/technology/" title="Просмотреть все записи в рубрике &laquo;Технологии&raquo;" rel="category tag">Технологии</a>, <a href="http://www.ajaxplanet.ru/category/libraries-and-frameworks/" title="Просмотреть все записи в рубрике &laquo;Библиотеки и фреймворки&raquo;" rel="category tag">Библиотеки и фреймворки</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxplanet.ru/atlas-july-ctp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atlas, первые шаги. Drag &amp; Drop</title>
		<link>http://www.ajaxplanet.ru/ms_atlas-drag-and-drop/</link>
		<comments>http://www.ajaxplanet.ru/ms_atlas-drag-and-drop/#comments</comments>
		<pubDate>Wed, 09 Aug 2006 05:56:51 +0000</pubDate>
		<dc:creator>darius</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[atlas]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Технологии]]></category>
		<category><![CDATA[Статьи про MS Atlas]]></category>
		<category><![CDATA[Библиотеки и фреймворки]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[ASP.NET-AJAX]]></category>
		<category><![CDATA[Drag-&-Drop]]></category>

		<guid isPermaLink="false">http://www.ajaxplanet.ru/ms_atlas-drag-and-drop/</guid>
		<description><![CDATA[Сегодня мы продолжаем серию статей, посвященных использованию MS Atlas, микрософтовской реализации AJAX, и публикуем статью про использование Drag &#038; Drop, написанную уважаемым Exception для форума Vingrad. Значит, так. На этот раз мы рассмотрим сразу два способа реализации Drag&#38;Drop на странице. Способ №1 Сначала мы рассмотрим стандартный способ. Создайте новую страничку. Далее необходимо заполнить её контентом [...]]]></description>
			<content:encoded><![CDATA[<p><em>Сегодня мы продолжаем серию статей, посвященных использованию MS Atlas, микрософтовской реализации AJAX, и публикуем статью про использование Drag &#038; Drop, написанную уважаемым <noindex><a href="http://forum.vingrad.ru/index.php?showuser=777&#038;nickname=Exception">Exception</a></noindex> для <noindex><a href="http://forum.vingrad.ru/">форума Vingrad</a></noindex>.</em></p>
<p>Значит, так. На этот раз мы рассмотрим сразу два<br />
способа реализации Drag&amp;Drop на странице.</p>
<p>
<strong>Способ №1</strong></p>
<p>
Сначала  мы рассмотрим стандартный способ. Создайте новую страничку. Далее  необходимо заполнить её контентом &#8211; дело в том, что панели &quot;ездят&quot;, то  есть двигаются только внутри самой страницы (что понятно), а посему не  могут двигаться там, где страницы уже нет . Как вариант &#8211; сделать большой <strong>div</strong> и запихнуть всё в него. Я лично для просмотра границ всяких <strong>div</strong>&#8216;ов пользую Web Developer Toolbar &#8211; хороший плагин для Firefox.</p>
<p>
Допустим, у нас есть заполненная страничка. Теперь нужно проделать довольно-таки стандартную процедуру &#8211; поместить на страницу <strong>ScriptManager</strong>. Думаю, это Вы умеете. Теперь давайте сделаем две панельки.</p>
<p>
Красивыми они у нас не будут &#8211; я сейчас не в настроении пускаться в дизайнерские изыски:</p>
<p><code>&lt;asp:Panel ID=&quot;FirstPanel&quot; runat=&quot;server&quot; CssClass=&quot;floatPanel&quot;&gt;<br />
&lt;asp:Label ID=&quot;FirstLabel&quot; runat=&quot;server&quot; Text=&quot;Это область, которую можно таскать мышкой <img src='http://www.ajaxplanet.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &quot; /&gt;<br />
&lt;/asp:Panel&gt;<br />
&lt;asp:Panel ID=&quot;SecondPanel&quot; runat=&quot;server&quot; CssClass=&quot;floatPanel&quot;&gt;<br />
&lt;asp:Label ID=&quot;SecondLabel&quot; runat=&quot;server&quot; Text=&quot;Это область, которую можно таскать мышкой <img src='http://www.ajaxplanet.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &quot; /&gt;<br />
&lt;/asp:Panel&gt;</code>
<p>
Теперь объявим класс CSS <strong>floatPanel</strong>:</p>
<p><code>.floatPanel<br />
  {<br />
cursor:move;<br />
background-color:#a50;<br />
border-style:solid;<br />
border-width:1px;<br />
height:160px;<br />
width:160px;<br />
}</code>
<p>
Кстати, если не поставить <strong>background-color</strong>, то панель будет прозрачной.</p>
<p>
У  нас есть страница и две панели. Что с ними делать? Нам нужно добавить к  ним поведение Drag&amp;Drop, то есть, чтобы их можно было двигать по  всеёй странице.</p>
<p>
Для этого мы добавим на страницу ещё один контрол Atlas: <strong>DragOverlayExtender</strong>.</p>
<p>
Этот контрол является чем-то сродни <strong>AutoCompleteExtender</strong> (как мы потом узнаем, они на самом деле родня ближе чем по <strong>Control</strong>&#8216;у).</p>
<p>
Внутри него может быть помещён (и не один) тег <strong>DragOverlayProperties</strong> (да-да, это аналог <strong>AutoCompleteProperties</strong>). В нашем случае это будет выглядеть так:</p>
<p><code>&lt;atlas:DragOverlayExtender ID=&quot;MyDragOverlayExtender&quot; runat=&quot;server&quot;&gt;<br />
&lt;atlas:DragOverlayProperties TargetControlID=&quot;FirstPanel&quot; Enabled=&quot;True&quot; /&gt;<br />
&lt;atlas:DragOverlayProperties TargetControlID=&quot;SecondPanel&quot; Enabled=&quot;True&quot; /&gt;<br />
&lt;/atlas:DragOverlayExtender&gt;</code>
<p>
Кстати, самое интересное, что при добавлении extender&#8217;а на страницу у панели появляется свойство <strong>DragOverlay</strong> с теми же параметрами &#8211; оно связывается с <strong>DragOverlayProperties</strong>.</p>
<p>
Вот и готова наша страница! Теперь две панели могут перемещаться по всей области страницы.</p>
<p>
<strong>Способ №2</strong></p>
<p>
Этот способ подразумевает наличие у Вас Atlas Controls Toolkit, о котором я говорил несколькими постами выше.</p>
<p>
Он является более удобным и совершенным.</p>
<p>
Давайте чуточку видоизменим панели. Для начала, уберите из стиля строку</p>
<p><code>cursor:move;</code>
<p>
Мы сделаем так, чтобы двигать панель можно было только за определённый участок.</p>
<p>
Добавим по &quot;заголовку&quot; в панели:</p>
<p><code>&lt;asp:Panel ID=&quot;FirstPanel&quot; runat=&quot;server&quot; CssClass=&quot;floatPanel&quot;&gt;<br />
&lt;asp:Label ID=&quot;FirstHeader&quot; runat=&quot;server&quot; Text=&quot;Тащи за меня&quot; CssClass=&quot;panelHeader&quot; /&gt;<br />
&lt;br /&gt;<br />
&lt;asp:Label ID=&quot;FirstLabel&quot; runat=&quot;server&quot; Text=&quot;Здесь находится содержание панели&quot; /&gt;<br />
&lt;/asp:Panel&gt;<br />
&lt;asp:Panel ID=&quot;SecondPanel&quot; runat=&quot;server&quot; CssClass=&quot;floatPanel&quot;&gt;<br />
&lt;asp:Label ID=&quot;SecondHeader&quot; runat=&quot;server&quot; Text=&quot;Тащи за меня&quot; CssClass=&quot;panelHeader&quot; /&gt;<br />
&lt;br /&gt;<br />
&lt;asp:Label ID=&quot;SecondLabel&quot; runat=&quot;server&quot; Text=&quot;Здесь находится содержание панели&quot; /&gt;<br />
&lt;/asp:Panel&gt;</code>
<p>
Собственно, объявим класс CSS panelHeader так:</p>
<p><code>.panelHeader<br />
  {<br />
font-weight:bold;<br />
cursor:move;<br />
}</code>
<p>
Это будет та область, за которую можно &quot;таскать&quot; мышкой панель.</p>
<p>
Ну и самое главное &#8211; необходимо объявить <strong>DragPanelExtender</strong> из Atlas Control Toolkit. В нашем случае это объявление выглядит так:</p>
<p><code>&lt;atlasToolkit:DragPanelExtender ID=&quot;MyDragPanelExtender&quot; runat=&quot;server&quot;&gt;<br />
&lt;atlasToolkit:DragPanelProperties TargetControlID=&quot;FirstPanel&quot; DragHandleID=&quot;FirstHeader&quot; /&gt;<br />
&lt;atlasToolkit:DragPanelProperties TargetControlID=&quot;SecondPanel&quot; DragHandleID=&quot;SecondHeader&quot; /&gt;<br />
&lt;/atlasToolkit:DragPanelExtender&gt;</code>
<p>
Всё очень просто. Вот мы и познакомились с техникой создания Drag&amp;Drop на странице.</p>
<p>
Полный код страницы (я пишу только для варианта № 2, для первого надо чуть изменить):</p>
<p><code>&lt;%@ Register Assembly=&quot;AtlasControlToolkit&quot; Namespace=&quot;AtlasControlToolkit&quot; TagPrefix=&quot;atlasToolkit&quot; %&gt;<br />
  &lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0  Transitional//EN&quot; <br />
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Drag&amp;Drop&lt;/title&gt;<br />
&lt;style type=&quot;text/css&quot;&gt;<br />
.floatPanel<br />
{<br />
background-color:#a50;<br />
border-style:solid;<br />
border-width:1px;<br />
height:160px;<br />
width:160px;<br />
}<br />
.panelHeader<br />
{<br />
font-weight:bold;<br />
cursor:move;<br />
}<br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form id=&quot;mainForm&quot; runat=&quot;server&quot;&gt;<br />
&lt;div id=&quot;content&quot; style=&quot;text-align: center;&quot;&gt;<br />
&lt;atlas:ScriptManager ID=&quot;MyScriptManager&quot; runat=&quot;server&quot; /&gt;<br />
&lt;asp:Panel ID=&quot;FirstPanel&quot; runat=&quot;server&quot; CssClass=&quot;floatPanel&quot;&gt;<br />
&lt;asp:Label ID=&quot;FirstHeader&quot; runat=&quot;server&quot; Text=&quot;Тащи за меня&quot; CssClass=&quot;panelHeader&quot; /&gt;<br />
&lt;br /&gt;<br />
&lt;asp:Label ID=&quot;FirstLabel&quot; runat=&quot;server&quot; Text=&quot;Здесь находится содержание панели&quot; /&gt;<br />
&lt;/asp:Panel&gt;<br />
&lt;asp:Panel ID=&quot;SecondPanel&quot; runat=&quot;server&quot; CssClass=&quot;floatPanel&quot;&gt;<br />
&lt;asp:Label ID=&quot;SecondHeader&quot; runat=&quot;server&quot; Text=&quot;Тащи за меня&quot; CssClass=&quot;panelHeader&quot; /&gt;<br />
&lt;br /&gt;<br />
&lt;asp:Label ID=&quot;SecondLabel&quot; runat=&quot;server&quot; Text=&quot;Здесь находится содержание панели&quot; /&gt;<br />
&lt;/asp:Panel&gt;<br />
&lt;atlasToolkit:DragPanelExtender ID=&quot;MyDragPanelExtender&quot; runat=&quot;server&quot;&gt;<br />
&lt;atlasToolkit:DragPanelProperties TargetControlID=&quot;FirstPanel&quot; DragHandleID=&quot;FirstHeader&quot; /&gt;<br />
&lt;atlasToolkit:DragPanelProperties TargetControlID=&quot;SecondPanel&quot; DragHandleID=&quot;SecondHeader&quot; /&gt;<br />
&lt;/atlasToolkit:DragPanelExtender&gt;<br />
Здесь должен находиться контент страницы<br />
&lt;/div&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code>
<p>
До скорых встреч!</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; <a href="http://www.ajaxplanet.ru">AJAX Planet</a>, 2006. |
	  <a href="http://www.ajaxplanet.ru/ms_atlas-drag-and-drop/">Постоянная ссылка</a> |
	  <a href="http://www.ajaxplanet.ru/ms_atlas-drag-and-drop/#comments">Комментарии</a></p>
	
	<p>Интересна эта тема? Посмотрите архив сообщений по теме <a href="http://www.ajaxplanet.ru/category/ajax/" title="Просмотреть все записи в рубрике &laquo;AJAX&raquo;" rel="category tag">AJAX</a>, <a href="http://www.ajaxplanet.ru/category/atlas/" title="Просмотреть все записи в рубрике &laquo;atlas&raquo;" rel="category tag">atlas</a>, <a href="http://www.ajaxplanet.ru/category/microsoft/" title="Просмотреть все записи в рубрике &laquo;Microsoft&raquo;" rel="category tag">Microsoft</a>, <a href="http://www.ajaxplanet.ru/category/technology/" title="Просмотреть все записи в рубрике &laquo;Технологии&raquo;" rel="category tag">Технологии</a>, <a href="http://www.ajaxplanet.ru/category/ms-atlas-articles/" title="Просмотреть все записи в рубрике &laquo;Статьи про MS Atlas&raquo;" rel="category tag">Статьи про MS Atlas</a>, <a href="http://www.ajaxplanet.ru/category/libraries-and-frameworks/" title="Просмотреть все записи в рубрике &laquo;Библиотеки и фреймворки&raquo;" rel="category tag">Библиотеки и фреймворки</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxplanet.ru/ms_atlas-drag-and-drop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MS Atlas &amp; UpdatePanel &#8212; доступная мощь</title>
		<link>http://www.ajaxplanet.ru/ms_atlas-updatepanel-basics/</link>
		<comments>http://www.ajaxplanet.ru/ms_atlas-updatepanel-basics/#comments</comments>
		<pubDate>Mon, 07 Aug 2006 07:35:18 +0000</pubDate>
		<dc:creator>Boris Bogdanov</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[atlas]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Технологии]]></category>
		<category><![CDATA[Статьи про MS Atlas]]></category>
		<category><![CDATA[Библиотеки и фреймворки]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[ASP.NET-AJAX]]></category>

		<guid isPermaLink="false">http://www.ajaxplanet.ru/ms_atlas-updatepanel-basics/</guid>
		<description><![CDATA[Помнится, в одном коммьюнити я говорил, что использование MS Atlas – штука простая и в большинстве случаев сводится к применению контрола UpdatePanel. Давайте посмотрим на это на конкретном примере. Сегодня я покажу пример реального приложения. Итак, дано: существует база данных, в которой хранятся сообщения от клиентов менеджерам и обратно. Список сообщений хранится в MS SQL [...]]]></description>
			<content:encoded><![CDATA[<p>Помнится, в одном коммьюнити я говорил, что использование MS Atlas – штука простая и в большинстве случаев сводится к применению контрола UpdatePanel. Давайте посмотрим на это на конкретном примере. Сегодня я покажу пример реального приложения.</p>
<p>Итак, дано: существует база данных, в которой хранятся сообщения от клиентов менеджерам и обратно. Список сообщений хранится в MS SQL и выводится хранимой процедурой. Конкретное сообщение также получаем через хранимую процедуру, принимающую один параметр. Плюс, на странице будет возможность переключить тип сообщения – входящий или исходящий.</p>
<p>Итого нам потребуется: DropDownList с выбором типа сообщения, GridView со списком сообщений и FormView для просмотра сообщения. Что ж, начнем с дропдауна.</p>
<p>Для DropDownList руками вводим 2 пункта: «Входящие» и «Исходящие», значения, соответственно, 1 и 2. AutoPostBack выставляем true.</p>
<p><img id="image251" alt="DropDownList" src="http://www.ajaxplanet.ru/wp-content/uploads/2006/08/dropdownlist.png" /></p>
<p>Теперь давайте займемся GridView. Для него нам важно настроить DataSource.</p>
<p><img id="image252" alt="GridView. New DataSource" src="http://www.ajaxplanet.ru/wp-content/uploads/2006/08/gridview_datasource.png" /></p>
<p>Целиком процесс я показывать не буду: уверен, что все, кто работает с ASP.Net 2.0 это видели далеко не раз, а новичкам не даст заблудиться толковый визард. Нас в этом заинтересует лишь вкладка с параметрами, передаваемыми хранимой процедуре. Нам необходимо выставить, что тип сообщения передается от дропдауна, который мы настроили раньше.</p>
<p><img alt="DataSource1 parameters" id="image253" src="http://www.ajaxplanet.ru/wp-content/uploads/2006/08/datasource1_parameter.png" /></p>
<p>После настройки DataSource автоматом будет создан список колонок с названиями, соответствующими названиям полей в базе. В свойствах грида укажем, что он поддерживает сортировку, пейджинг и выбор.</p>
<p><img alt="GridView SmartTag" id="image254" src="http://www.ajaxplanet.ru/wp-content/uploads/2006/08/gridview_smarttag.png" /></p>
<p>Затем отредактируем список колонок и поменяем их названия.</p>
<p><img alt="GridView. Edit columns" id="image255" src="http://www.ajaxplanet.ru/wp-content/uploads/2006/08/gridview_edit_columns.png" /></p>
<p>Укажем ключевое поле, по которому у нас будет отбираться в дальнейшем сообщение (DataKeyNames)</p>
<p><img alt="GridView DataKeyNames" id="image256" src="http://www.ajaxplanet.ru/wp-content/uploads/2006/08/gridview_datakeynames.png" />.</p>
<p>Что ж, настала очередь FormView. Для него нам тоже потребуется настроить DataSource. На сей раз параметр для хранимой процедуры передается из уже настроенного GridView.</p>
<p><img id="image257" alt="DataSource2 parameters" src="http://www.ajaxplanet.ru/wp-content/uploads/2006/08/datasource2_parameter.png" /></p>
<p>После настройки DataSource автоматически формируются шаблоны. Опять же, мы их немного поправим.</p>
<p><img id="image258" alt="FormView Templates" src="http://www.ajaxplanet.ru/wp-content/uploads/2006/08/formview_templates.png" /></p>
<p>Костяк страницы у нас готов. Мы можем запустить и посмотреть результат. Всё должно работать.</p>
<p>Наверняка вы спросите: а при чем здесь AJAX? Всё, что мы только что сделали – обычная страница ASP.Net 2.0, и ничего нового и интересного тут нет. Что ж, давайте займемся AJAX, а точнее – MS Atlas.</p>
<p>Для начала на страницу нам потребуется добавить AtlasScriptManager:</p>
<p><code>&lt;atlas:ScriptManager  ID="AJAX_ScriptManager" EnablePartialRendering="True" runat="server"  /&gt;</code></p>
<p>А теперь наступает пора уже упоминавшегося контрола UpdatePanel. Дропдаун, грид и FormView мы поместим в обертку этого контрола:</p>
<p><code><br />
&lt;atlas:UpdatePanel  ID="произвольный_id"  runat="server"&gt;<br />
&lt;ContentTemplate&gt;</p>
<p>содержимое</p>
<p>&lt;/ContentTemplate&gt;<br />
&lt;/atlas:UpdatePanel&gt;</code></p>
<p><img alt="Result page design" id="image259" src="http://www.ajaxplanet.ru/wp-content/uploads/2006/08/result_design.png" /><br />
А теперь… А теперь всё, можете открыть страницу и проверить. Все наши запросы теперь проходят асинхронно без перезагрузки страницы. Как вы видели, всю страницу мы собрали практически не касаясь руками кода и совсем не влезая в code behind. Работа с контролами, входящими в Atlas Toolkit тоже проста до невозможности и хорошо задокументирована. В большинстве случаев вам будет достаточно просто добавить контрол на страницу и затем указать объект, функциональность которого необходимо «расширить».</p>
<p>Ну и текст получившейся страницы целиком:</p>
<p><code><br />
&lt;%@ Page Language="C#"  AutoEventWireup="true" CodeFile="message_demo.aspx.cs"  Inherits="message_demo" %&gt;</p>
<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0  Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;</p>
<p>&lt;html  xmlns="http://www.w3.org/1999/xhtml" &gt;<br />
&lt;head  runat="server"&gt;<br />
&lt;title&gt;Untitled Page&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form id="form1"  runat="server"&gt;<br />
&lt;div&gt;<br />
&lt;atlas:ScriptManager  ID="AJAX_ScriptManager" EnablePartialRendering="True"  runat="server" /&gt;<br />
&lt;atlas:UpdatePanel ID="upDDL"  runat="server"&gt;<br />
&lt;ContentTemplate&gt;<br />
&lt;asp:DropDownList  ID="ddlFilter" runat="server"  AutoPostBack="True"&gt;<br />
&lt;asp:ListItem  Value="1"&gt;Входящие&lt;/asp:ListItem&gt;<br />
&lt;asp:ListItem  Value="2"&gt;Отправленные&lt;/asp:ListItem&gt;<br />
&lt;/asp:DropDownList&gt;<br />
&lt;/ContentTemplate&gt;<br />
&lt;/atlas:UpdatePanel&gt;<br />
&lt;atlas:UpdatePanel  ID="upGV" runat="server"&gt;<br />
&lt;ContentTemplate&gt;<br />
&lt;asp:GridView  ID="GridView1" runat="server" AllowPaging="True"  AllowSorting="True"<br />
AutoGenerateColumns="False"  DataKeyNames="ID" DataSourceID="SqlDataSource1"&gt;<br />
&lt;Columns&gt;<br />
&lt;asp:CommandField  SelectText="выбрать"  ShowSelectButton="True" /&gt;<br />
&lt;asp:BoundField  DataField="SubjectFrom" HeaderText="Автор"  SortExpression="SubjectFrom" /&gt;<br />
&lt;asp:BoundField DataField="SubjectTo" HeaderText="Адресат"  SortExpression="SubjectTo" /&gt;<br />
&lt;asp:BoundField  DataField="Subject" HeaderText="Тема" SortExpression="Subject" /&gt;<br />
&lt;asp:BoundField  DataField="MessageSent" HeaderText="Отправлено"  SortExpression="MessageSent" /&gt;<br />
&lt;asp:BoundField  DataField="Accepted_DateTime" HeaderText="Прочитано"  SortExpression="Accepted_DateTime" /&gt;<br />
&lt;/Columns&gt;<br />
&lt;/asp:GridView&gt;<br />
&lt;/ContentTemplate&gt;<br />
&lt;/atlas:UpdatePanel&gt;<br />
&lt;asp:SqlDataSource  ID="SqlDataSource1" runat="server"  ConnectionString="&lt;%$ ConnectionStrings:SOI_AK_Test_ConnectionString  %&gt;"<br />
SelectCommand="wprov_get_client_messages"  SelectCommandType="StoredProcedure"&gt;<br />
&lt;SelectParameters&gt;<br />
&lt;asp:ControlParameter  ControlID="ddlFilter" DefaultValue="1"  Name="messageType" PropertyName="SelectedValue"<br />
Type="Int32"  /&gt;<br />
&lt;asp:SessionParameter  DefaultValue="233" Name="clientId"  SessionField="cliID" Type="Int32" /&gt;<br />
&lt;/SelectParameters&gt;<br />
&lt;/asp:SqlDataSource&gt;<br />
&lt;atlas:UpdatePanel  ID="upFV" runat="server"&gt;<br />
&lt;ContentTemplate&gt;<br />
&lt;asp:FormView  ID="FormView1" runat="server" DataSourceID="SqlDataSource2"&gt;<br />
&lt;ItemTemplate&gt;<br />
Автор:<br />
&lt;asp:Label  ID="SubjectFromLabel" runat="server" Text='&lt;%#  Bind("SubjectFrom") %&gt;'&gt;&lt;/asp:Label&gt;&lt;br /&gt;<br />
Адресат:<br />
&lt;asp:Label  ID="SubjectToLabel" runat="server" Text='&lt;%#  Bind("SubjectTo") %&gt;'&gt;&lt;/asp:Label&gt;&lt;br /&gt;<br />
Тема:<br />
&lt;asp:Label  ID="SubjectLabel" runat="server" Text='&lt;%#  Bind("Subject") %&gt;'&gt;&lt;/asp:Label&gt;&lt;br /&gt;<br />
Отправлено:<br />
&lt;asp:Label  ID="MessageSentLabel" runat="server" Text='&lt;%#  Bind("MessageSent") %&gt;'&gt;&lt;/asp:Label&gt;&lt;br /&gt;<br />
Получено:<br />
&lt;asp:Label  ID="Accepted_DateTimeLabel" runat="server" Text='&lt;%# Bind("Accepted_DateTime")  %&gt;'&gt;&lt;/asp:Label&gt;&lt;br /&gt;<br />
&lt;asp:Label  ID="ContentLabel" runat="server" Text='&lt;%#  Bind("Content") %&gt;'&gt;&lt;/asp:Label&gt;&lt;br /&gt;<br />
&lt;/ItemTemplate&gt;<br />
&lt;/asp:FormView&gt;<br />
&lt;/ContentTemplate&gt;<br />
&lt;/atlas:UpdatePanel&gt;<br />
&lt;asp:SqlDataSource  ID="SqlDataSource2" runat="server"  ConnectionString="&lt;%$ ConnectionStrings:SOI_AK_Test_ConnectionString  %&gt;"<br />
SelectCommand="wprov_get_client_message"  SelectCommandType="StoredProcedure"&gt;<br />
&lt;SelectParameters&gt;<br />
&lt;asp:ControlParameter  ControlID="GridView1" Name="messageId"  PropertyName="SelectedValue"<br />
Type="Int32"  /&gt;<br />
&lt;/SelectParameters&gt;<br />
&lt;/asp:SqlDataSource&gt;</p>
<p>&lt;/div&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; <a href="http://www.ajaxplanet.ru">AJAX Planet</a>, 2006. |
	  <a href="http://www.ajaxplanet.ru/ms_atlas-updatepanel-basics/">Постоянная ссылка</a> |
	  <a href="http://www.ajaxplanet.ru/ms_atlas-updatepanel-basics/#comments">Комментарии</a></p>
	
	<p>Интересна эта тема? Посмотрите архив сообщений по теме <a href="http://www.ajaxplanet.ru/category/ajax/" title="Просмотреть все записи в рубрике &laquo;AJAX&raquo;" rel="category tag">AJAX</a>, <a href="http://www.ajaxplanet.ru/category/atlas/" title="Просмотреть все записи в рубрике &laquo;atlas&raquo;" rel="category tag">atlas</a>, <a href="http://www.ajaxplanet.ru/category/microsoft/" title="Просмотреть все записи в рубрике &laquo;Microsoft&raquo;" rel="category tag">Microsoft</a>, <a href="http://www.ajaxplanet.ru/category/technology/" title="Просмотреть все записи в рубрике &laquo;Технологии&raquo;" rel="category tag">Технологии</a>, <a href="http://www.ajaxplanet.ru/category/ms-atlas-articles/" title="Просмотреть все записи в рубрике &laquo;Статьи про MS Atlas&raquo;" rel="category tag">Статьи про MS Atlas</a>, <a href="http://www.ajaxplanet.ru/category/libraries-and-frameworks/" title="Просмотреть все записи в рубрике &laquo;Библиотеки и фреймворки&raquo;" rel="category tag">Библиотеки и фреймворки</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxplanet.ru/ms_atlas-updatepanel-basics/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Обзор ajax-фреймворков</title>
		<link>http://www.ajaxplanet.ru/obzor-ajax-freymvorkov/</link>
		<comments>http://www.ajaxplanet.ru/obzor-ajax-freymvorkov/#comments</comments>
		<pubDate>Wed, 02 Aug 2006 11:45:12 +0000</pubDate>
		<dc:creator>Boris Bogdanov</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[atlas]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Yahoo]]></category>
		<category><![CDATA[Технологии]]></category>
		<category><![CDATA[Библиотеки и фреймворки]]></category>
		<category><![CDATA[ASP.NET-AJAX]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[Open-Rico]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Yahoo-Ajax-Library]]></category>
		<category><![CDATA[Zimbra-Kabuki-Ajax-Toolkit]]></category>
		<category><![CDATA[фреймворк]]></category>

		<guid isPermaLink="false">http://www.ajaxplanet.ru/obzor-ajax-freymvorkov/</guid>
		<description><![CDATA[На InfoWorld появился обзор 6 ajax-фреймворков: Dojo Zimbra Kabuki Ajax Toolkit Google Web Toolkit Open Rico and Prototype Microsoft Atlas Yahoo Ajax Library Наверное, на первый взгляд обзор покажется чрезмерно кратким и поверхностным. Но самое интересное скрыто в скринкастах. Там находятся достаточно подробные демонстрации каждого фреймворка. Демонстрация того же MS Atlas действительно понравилась. Думаю, для [...]]]></description>
			<content:encoded><![CDATA[<p>На InfoWorld появился <noindex><a href="http://ww6.infoworld.com/products/print_friendly.jsp?link=/article/06/07/31/31FEajax_3.html">обзор 6 ajax-фреймворков</a></noindex>:</p>
<ul>
<li>Dojo</li>
<li>Zimbra Kabuki Ajax Toolkit</li>
<li>Google Web Toolkit</li>
<li>Open Rico and Prototype</li>
<li>Microsoft Atlas</li>
<li>Yahoo Ajax Library</li>
</ul>
<p>Наверное, на первый взгляд обзор покажется чрезмерно кратким и поверхностным. Но самое интересное скрыто в скринкастах. Там находятся достаточно подробные демонстрации каждого фреймворка. Демонстрация того же MS Atlas действительно понравилась. Думаю, для составления первого мнения о лидерах это будет полезно.</p>
<p>ps <span id="ctl00_ContentPlaceHolder1_ClaimDetails1_lClaim">f4ee11f1-057e-4d13-b671-e9c7b775cd24</span><span id="ctl00_ContentPlaceHolder1_ClaimDetails1_lClaim" /></p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; <a href="http://www.ajaxplanet.ru">AJAX Planet</a>, 2006. |
	  <a href="http://www.ajaxplanet.ru/obzor-ajax-freymvorkov/">Постоянная ссылка</a> |
	  <a href="http://www.ajaxplanet.ru/obzor-ajax-freymvorkov/#comments">Комментарии</a></p>
	
	<p>Интересна эта тема? Посмотрите архив сообщений по теме <a href="http://www.ajaxplanet.ru/category/ajax/" title="Просмотреть все записи в рубрике &laquo;AJAX&raquo;" rel="category tag">AJAX</a>, <a href="http://www.ajaxplanet.ru/category/atlas/" title="Просмотреть все записи в рубрике &laquo;atlas&raquo;" rel="category tag">atlas</a>, <a href="http://www.ajaxplanet.ru/category/google/" title="Просмотреть все записи в рубрике &laquo;Google&raquo;" rel="category tag">Google</a>, <a href="http://www.ajaxplanet.ru/category/java/" title="Просмотреть все записи в рубрике &laquo;Java&raquo;" rel="category tag">Java</a>, <a href="http://www.ajaxplanet.ru/category/microsoft/" title="Просмотреть все записи в рубрике &laquo;Microsoft&raquo;" rel="category tag">Microsoft</a>, <a href="http://www.ajaxplanet.ru/category/ruby-on-rails/" title="Просмотреть все записи в рубрике &laquo;Ruby on Rails&raquo;" rel="category tag">Ruby on Rails</a>, <a href="http://www.ajaxplanet.ru/category/yahoo/" title="Просмотреть все записи в рубрике &laquo;Yahoo&raquo;" rel="category tag">Yahoo</a>, <a href="http://www.ajaxplanet.ru/category/technology/" title="Просмотреть все записи в рубрике &laquo;Технологии&raquo;" rel="category tag">Технологии</a>, <a href="http://www.ajaxplanet.ru/category/libraries-and-frameworks/" title="Просмотреть все записи в рубрике &laquo;Библиотеки и фреймворки&raquo;" rel="category tag">Библиотеки и фреймворки</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxplanet.ru/obzor-ajax-freymvorkov/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Atlas, первые шаги. Autocomplete</title>
		<link>http://www.ajaxplanet.ru/atlas-autocomplete/</link>
		<comments>http://www.ajaxplanet.ru/atlas-autocomplete/#comments</comments>
		<pubDate>Fri, 28 Jul 2006 08:37:56 +0000</pubDate>
		<dc:creator>Boris Bogdanov</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[atlas]]></category>
		<category><![CDATA[Технологии]]></category>
		<category><![CDATA[Статьи про MS Atlas]]></category>
		<category><![CDATA[Библиотеки и фреймворки]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[ASP.NET-AJAX]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.ajaxplanet.ru/atlas-autocomplete/</guid>
		<description><![CDATA[Недавняя статья &#8220;Atlas, первые шаги&#8221; оказалась достаточно востребованной, что, в условиях нехватки информации по Atlas, и не удивительно. Сегодня мы продолжаем серию и публикуем вторую статью, написанную уважаемым Exception для форума Vingrad и посвященную Atlas, микрософтовской реализации AJAX. Сегодня речь пойдет об автодополнении. Итак, для начала нам нужно создать Web-сервис, предоставляющий список строк для автозаполнения. [...]]]></description>
			<content:encoded><![CDATA[<p><em>Недавняя статья &#8220;<noindex><a href="http://www.ajaxplanet.ru/atlas-first-steps/">Atlas, первые шаги</a></noindex>&#8221; оказалась достаточно востребованной, что, в условиях нехватки информации по <noindex><a href="http://atlas.asp.net">Atlas</a></noindex>, и не удивительно. Сегодня мы продолжаем серию и публикуем вторую статью, написанную уважаемым <noindex><a href="http://forum.vingrad.ru/index.php?showuser=777&#038;nickname=Exception">Exception</a></noindex> для <noindex><a href="http://forum.vingrad.ru/">форума Vingrad</a></noindex> и посвященную Atlas, микрософтовской реализации AJAX. Сегодня речь пойдет об автодополнении.</em></p>
<p>Итак, для начала нам нужно создать Web-сервис, предоставляющий список строк для автозаполнения. Это сделать нетрудно.</p>
<p>Вот код этого сервиса:</p>
<p><code>Namespace AtlasTest<br />
&lt;WebService(Namespace:="http://tempuri.org/")&gt; _<br />
&lt;WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)&gt; _<br />
Public Class WebService<br />
Inherits System.Web.Services.WebService<br />
Private members As String() = _<br />
{"arilou", "mr.DUDA", "chipset", "alir", "Exception", "Wowa", "Vit", _<br />
"Poseidon", "2man", "Akina", "cardinal", "DezmASter", "bagira", _<br />
"SoWa", "Kagor", "Pegas", "sergej.z", "Gannibal", "ivashkanet", _<br />
"VisualProgrammerNET", "asdf", "oleg1973", "Guedda"}<br />
Private _prefixText As String<br />
&lt;WebMethod()&gt; _<br />
Public Function GetWordList(ByVal prefixText As String, ByVal count As Integer) As String()<br />
_prefixText = prefixText<br />
Dim resultArray(count) As String<br />
resultArray = Array.FindAll(members, AddressOf ArrayFilter)<br />
Return resultArray<br />
End Function<br />
Private Function ArrayFilter(ByVal item As String) As Boolean<br />
Return item.StartsWith(_prefix, StringComparison.InvariantCultureIgnoreCase)<br />
End Function<br />
End Class<br />
End Namespace</code></p>
<p><code>namespace AtlasTest<br />
[WebService(Namespace="http://tempuri.org/")] _<br />
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]<br />
public class WebService : System.Web.Services.WebService<br />
{<br />
private string members[] =<br />
{"arilou", "mr.DUDA", "chipset", "alir", "Exception", "Wowa", "Vit",<br />
"Poseidon", "2man", "Akina", "cardinal", "DezmASter", "bagira",<br />
"SoWa", "Kagor", "Pegas", "sergej.z", "Gannibal", "ivashkanet",<br />
"VisualProgrammerNET", "asdf", "oleg1973", "Guedda"};<br />
private string _prefix;<br />
[WebMethod]<br />
public string[] GetWordList(string prefixText, int  count)<br />
{<br />
_prefix = prefixText;<br />
string[] resultArray = new string[count];<br />
resultArray = Array.FindAll(members, new System.Predicate&lt;string&gt;(ArrayFilter));<br />
return resultArray;<br />
}<br />
private bool ArrayFilter(string item)<br />
{<br />
return item.StartsWith(_prefix, StringComparison.InvariantCultureIgnoreCase);<br />
}<br />
}<br />
}</code></p>
<p>Работа этого сервиса проста. Если смотреть на него, как на &#8220;чёрный ящик&#8221;, то можно составить такое описание метода GetWordList:</p>
<p>GetWordList</p>
<p>Параметры:</p>
<p>* prefixText &#8211; текст, набранный пользователем<br />
* count &#8211; количество результатов</p>
<p>Результирующее значение: массив, состоящий из не более count строк, начинающихся с префикса prefixText.</p>
<p>Например, если пользователь наберёт &#8220;c&#8221; на клавиатуре, то в ответ ему придут &#8220;chipset&#8221; и &#8220;cardinal&#8221;, если, конечно, count больше или равен двум.</p>
<p>Хорошо, мы написали сервис. Что дальше? Как обычно, добавьте на страницу контрол ScriptManager:</p>
<p><code>&lt;atlas:ScriptManager ID="MyScriptManager" runat="server" /&gt;</code></p>
<p>Далее, добавьте на форму самый что ни на есть обыкновенный TextBox:</p>
<p><code>&lt;asp:TextBox ID="MyTextBox" runat="server" /&gt;</code></p>
<p>Теперь приступим к самому главному.</p>
<p>Для добавления к полю AutoComplete-поведения нобходимо объявить соответствующий элемент:</p>
<p><code>&lt;atlas:AutoCompleteExtender runat="server" ID="MyAutoCompleteExtender"&gt;<br />
&lt;/atlas:AutoCompleteExtender&gt;</code></p>
<p>Этот контрол позволяет расширять любой TextBox на странице путём добавления соответствующего тега:</p>
<p><code>&lt;atlas:AutoCompleteProperties TargetControlID="MyTextBox" Enabled="True" ServicePath="WebService.asmx"<br />
ServiceMethod="GetWordList" MinimumPrefixLength="1" /&gt;</code></p>
<p>Всё просто, не так ли?</p>
<p>Всё, автозаполнение работает!</p>
<p>Полный код страницы:</p>
<p><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0  Transitional//EN"<br />
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;Yo&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form id="mainForm" runat="server"&gt;<br />
&lt;atlas:ScriptManager ID="MyScriptManager" runat="server" /&gt;<br />
&lt;div id="content"&gt;<br />
&lt;asp:TextBox ID="MyTextBox" runat="server" /&gt;<br />
&lt;atlas:AutoCompleteExtender runat="server" ID="MyAutoCompleteExtender"&gt;<br />
&lt;atlas:AutoCompleteProperties<br />
TargetControlID="MyTextBox" Enabled="True"<br />
ServicePath="WebService.asmx" ServiceMethod="GetWordList"<br />
MinimumPrefixLength="1" /&gt;<br />
&lt;/atlas:AutoCompleteExtender&gt;<br />
&lt;/div&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p>
<p>В следующем обзоре мы рассмотрим, как сделать Drag&#038;Drop на странице.</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; <a href="http://www.ajaxplanet.ru">AJAX Planet</a>, 2006. |
	  <a href="http://www.ajaxplanet.ru/atlas-autocomplete/">Постоянная ссылка</a> |
	  <a href="http://www.ajaxplanet.ru/atlas-autocomplete/#comments">Комментарии</a></p>
	
	<p>Интересна эта тема? Посмотрите архив сообщений по теме <a href="http://www.ajaxplanet.ru/category/ajax/" title="Просмотреть все записи в рубрике &laquo;AJAX&raquo;" rel="category tag">AJAX</a>, <a href="http://www.ajaxplanet.ru/category/atlas/" title="Просмотреть все записи в рубрике &laquo;atlas&raquo;" rel="category tag">atlas</a>, <a href="http://www.ajaxplanet.ru/category/technology/" title="Просмотреть все записи в рубрике &laquo;Технологии&raquo;" rel="category tag">Технологии</a>, <a href="http://www.ajaxplanet.ru/category/ms-atlas-articles/" title="Просмотреть все записи в рубрике &laquo;Статьи про MS Atlas&raquo;" rel="category tag">Статьи про MS Atlas</a>, <a href="http://www.ajaxplanet.ru/category/libraries-and-frameworks/" title="Просмотреть все записи в рубрике &laquo;Библиотеки и фреймворки&raquo;" rel="category tag">Библиотеки и фреймворки</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxplanet.ru/atlas-autocomplete/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Война с Атласом.</title>
		<link>http://www.ajaxplanet.ru/atlas-beta/</link>
		<comments>http://www.ajaxplanet.ru/atlas-beta/#comments</comments>
		<pubDate>Mon, 10 Jul 2006 08:28:01 +0000</pubDate>
		<dc:creator>Boris Bogdanov</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[atlas]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Компании]]></category>
		<category><![CDATA[Технологии]]></category>
		<category><![CDATA[Библиотеки и фреймворки]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[ASP.NET-AJAX]]></category>
		<category><![CDATA[Visual-Studio]]></category>

		<guid isPermaLink="false">http://www.ajaxplanet.ru/atlas-beta/</guid>
		<description><![CDATA[Всю прошлую неделю я воевал с Atlas, Microsoft-овской реализацией AJAX. Что я могу сказать&#8230; Atlas &#8212; типичный микросовтовский продукт на стадии бета-тестирования. Он многое умеет. Действительно многое. Очень много вещей вы можете сделать буквально за секунды, удобно, комфортно, не копаясь в необозримых пространствах JavaScript-овых библиотек. И, что удивительно, то что у вас работает сразу, действительно [...]]]></description>
			<content:encoded><![CDATA[<p>Всю прошлую неделю я воевал с <noindex><a href="http://atlas.asp.net/">Atlas</a></noindex>, Microsoft-овской реализацией AJAX. Что я могу сказать&#8230; Atlas &#8212; типичный микросовтовский продукт на стадии бета-тестирования. Он многое умеет. Действительно многое.</p>
<p>Очень много вещей вы можете сделать буквально за секунды, удобно, комфортно, не копаясь в необозримых пространствах JavaScript-овых библиотек. И, что удивительно, то что у вас работает сразу, действительно работает! Работает и в Internet Explorer, и в Mozilla Firefox. Скажу честно &#8212; я не тестировал работоспособность в Opera и Safari, но всё, что я тестировал в моих основных браузерах, работает. На проблемы, <noindex><a href="http://www.ajaxplanet.ru/provalnoe-testirovanie-ms-atlas/">упомянутые ранее</a></noindex>, я не натолкнулся. Очень радует уровень интеграции с Visual Studio 2005.</p>
<p>Всё это хорошо, но в какой-то момент вы натыкаетесь на баг/недоработку/архитектурное ограничение (зачастую сложно определить, что же это) и всё. Сделать с этим что-то практически невозможно. Документация многие вещи пока либо не описывает, либо описывает очень кратко. Не факт, что вы сможете найти пример, где выполняется задача, над которой вы сейчас работаете. Сообщество пользователей пока небольшое, вопрос, заданный на форуме имеет большие шансы остаться без ответа.</p>
<p>Одно радует &#8212; библиотека действительно развивается, а многие вещи уже сейчас работают прекрасно. Да и интеграция с прочими микрософтовскими продуктами на высоте. Так что, если вы используете ASP.Net 2.0, выбора у вас практически не будет, хорошо это или плохо.</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	<p>&copy; <a href="http://www.ajaxplanet.ru">AJAX Planet</a>, 2006. |
	  <a href="http://www.ajaxplanet.ru/atlas-beta/">Постоянная ссылка</a> |
	  <a href="http://www.ajaxplanet.ru/atlas-beta/#comments">Комментарии</a></p>
	
	<p>Интересна эта тема? Посмотрите архив сообщений по теме <a href="http://www.ajaxplanet.ru/category/ajax/" title="Просмотреть все записи в рубрике &laquo;AJAX&raquo;" rel="category tag">AJAX</a>, <a href="http://www.ajaxplanet.ru/category/atlas/" title="Просмотреть все записи в рубрике &laquo;atlas&raquo;" rel="category tag">atlas</a>, <a href="http://www.ajaxplanet.ru/category/microsoft/" title="Просмотреть все записи в рубрике &laquo;Microsoft&raquo;" rel="category tag">Microsoft</a>, <a href="http://www.ajaxplanet.ru/category/company/" title="Просмотреть все записи в рубрике &laquo;Компании&raquo;" rel="category tag">Компании</a>, <a href="http://www.ajaxplanet.ru/category/technology/" title="Просмотреть все записи в рубрике &laquo;Технологии&raquo;" rel="category tag">Технологии</a>, <a href="http://www.ajaxplanet.ru/category/libraries-and-frameworks/" title="Просмотреть все записи в рубрике &laquo;Библиотеки и фреймворки&raquo;" rel="category tag">Библиотеки и фреймворки</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.ajaxplanet.ru/atlas-beta/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
