<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.itkazan.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Персональный блог Александра Шера</title><link>http://www.itkazan.com/blogs/aib/default.aspx</link><description>Professional blog for .Net programmers.
Main topics: Microsoft ASP.NET AJAX, WPF/E, OOP, Refactoring</description><dc:language /><generator>CommunityServer 2007 SP2 (Build: 20611.960)</generator><item><title>Разбор CascadingDropDown</title><link>http://www.itkazan.com/blogs/aib/archive/2007/08/31/cascadingdropdown.aspx</link><pubDate>Fri, 31 Aug 2007 02:58:00 GMT</pubDate><guid isPermaLink="false">a0bcd6ff-3bec-41dc-9fcd-885f6beec21b:1528</guid><dc:creator>Aib</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.itkazan.com/blogs/aib/rsscomments.aspx?PostID=1528</wfw:commentRss><comments>http://www.itkazan.com/blogs/aib/archive/2007/08/31/cascadingdropdown.aspx#comments</comments><description>&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;a href="http://itkazan.com/blogs/aib/cddnv.jpg"&gt;&lt;/a&gt;От обиды, что на проекте отклонили идею использования датаконтекстов, этнузиазм кончился и появилось-таки время написать про &lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;"&gt;CascadingDropDown&lt;/span&gt;, и на его примере ответить на несколько вопросов, являющихся общими для многих контролов из AjaxControlToolkit.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Для тех, кто не в курсе. &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;"&gt;&lt;a title="CascadingDropDown" href="http://itkazan.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=55&amp;amp;postid=1506"&gt;CascadingDropDown&lt;/a&gt;&lt;/span&gt; - это контрол-экстендер, предназначенный для заполнения данными одного&amp;nbsp;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;DropDownList&lt;/span&gt;&amp;#39;а&amp;nbsp;в зависимости от значения, выбранного в другом &lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;"&gt;DropDownList&lt;/span&gt;&amp;#39;е. Необходимые данные он подтягивает через ajax с помощью метода веб-сервиса. Это если вкратце. Теперь рассмотрим его устройство более &lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;детально. &lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;font color="#000000"&gt;Итак,&lt;/font&gt; &lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt; &lt;font color="#000000"&gt;является экстендером для&lt;/font&gt; &lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;DropDownList&lt;/span&gt;, &lt;font color="#000000"&gt;причем в качестве target задается&amp;nbsp;&amp;quot;зависимый&amp;quot; &lt;/font&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;DropDownList&lt;/span&gt;&lt;font color="#000000"&gt; (т.е. тот, который будет заполнятся). Для задания ID родительского контрола используется свойство &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;"&gt;ParentControlID&lt;/span&gt;, которое кстати&amp;nbsp;является необязательным (т.е. родительского&lt;/font&gt; &lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;DropDownList&lt;/span&gt;&lt;font color="#000000"&gt;&amp;#39;а может и не быть). А вот к обязательным свойствам (в довесок к &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;TargetControlID&lt;/span&gt;) относятся &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;"&gt;Category&lt;/span&gt; и &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;"&gt;ServiceMethod&lt;/span&gt;. &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;"&gt;ServiceMethod&lt;/span&gt; содержит имя используемого &lt;/font&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt;&lt;font color="#000000"&gt; веб-метода, а &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;"&gt;Category&lt;/span&gt; выполняет роль имени фильтра, и будет передана в веб-метод в качестве одного из параметров. К необязательным относятся &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;"&gt;PromptText&lt;/span&gt; (текст, который будет предлагать пользователю выбрать одно из значений), &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;LoadingText&lt;/span&gt; (текст, отображаемый во время загрузки), &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;ServicePath&lt;/span&gt;&lt;span&gt; &lt;/span&gt;(путь к веб-сервису; если его не задать, то будет использоваться &lt;span style="mso-ansi-language:EN-US;"&gt;PageMethod&lt;/span&gt;&lt;span&gt; &lt;/span&gt;старницы), &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;ContextKey&lt;/span&gt;&lt;span&gt; &lt;/span&gt;(метсто для хранения&amp;nbsp;некоторой дополнительной информации), &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;UseContextKey&lt;/span&gt;&lt;span&gt; &lt;/span&gt;(сообщает, передавать или нет &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;ContextKey&lt;/span&gt; в качестве одного из параметров в веб-метод) и &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;SelectedValue&lt;/span&gt;&lt;span&gt; &lt;/span&gt;(дефолтное значение для дочернего&lt;/font&gt; &lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;DropDownList&lt;/span&gt;&lt;font color="#000000"&gt;). Кроме вышеописанных свойств, у&lt;/font&gt; &lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt; &lt;font color="#000000"&gt;есть ещё пара вспомогательных статических методов, которые могут быть использованы в веб-методе, но о них попозже. Все, что делает&lt;/font&gt; &lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt; &lt;font color="#000000"&gt;на сервере, это собирает значения вышеописанных свойств в&lt;/font&gt; &lt;a href="http://www.asp.net/AJAX/Documentation/Live/mref/T_System_Web_UI_ScriptComponentDescriptor.aspx"&gt;&lt;strong&gt;&lt;font color="#005bba"&gt;скрипт-дескрипторы&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt; &lt;font color="#000000"&gt;и отправляет связанному с ним клиентскому классу – наследнику &lt;/font&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:13.5pt;"&gt;&lt;a href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Sys.UI/BehaviorClass/default.aspx"&gt;&lt;strong&gt;&lt;font color="#004183"&gt;Sys.UI.Behavior&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt; &lt;font color="#000000"&gt;(а если точнее - то &lt;/font&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;font color="#000000"&gt;AjaxControlToolkit.&lt;/font&gt;&lt;font color="#2b91af"&gt;BehaviorBase&lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;). Весь основной процесс происходит у пользователя на клиенте. &lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;Плавно туда перемещаемся:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://itkazan.com/blogs/aib/CascadingDropDownBehavior.jpg"&gt;&lt;img src="http://itkazan.com/blogs/aib/CascadingDropDownBehavior.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;font color="#000000"&gt;В методе &lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:13.5pt;mso-ansi-language:EN-US;"&gt;&lt;a href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Sys.UI/BehaviorClass/BehaviorInitializeMethod.aspx"&gt;&lt;strong&gt;&lt;font color="#004183"&gt;initialize&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt; &lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;font color="#000000"&gt;происходит подписка на событие &lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:13.5pt;mso-ansi-language:EN-US;"&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms536912.aspx"&gt;&lt;strong&gt;&lt;font color="#004183"&gt;change&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt; &lt;/span&gt;&lt;font color="#000000"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;дочернего и родительского (если таковой задан) &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;’ов&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;. Также, если задан родительский &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;, то между ним и дочерним устанавливается связь: дочернему добавляется поле &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;CascadingDropDownParentControlID&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt; (ссылающееся на родителя), а у родителя создается (если ещё не создан) поле-массив &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;childDropDown&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;, в который добавляется ссылка на дочерний &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;. Кроме всего этого выполняется ещё ряд действий: дочерний &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt; очищается от имеющихся данных, ему задается поле &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;CascadingDropDownCategory&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;, которое будет содержать значение&amp;nbsp;свойства&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;mso-fareast-font-family:Calibri;mso-fareast-language:EN-US;mso-fareast-theme-font:minor-latin;"&gt;Category&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;, подставляется текст из &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:13.5pt;mso-ansi-language:EN-US;"&gt;PromptText&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt; &lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;или &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;LoadingText&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt; и ещё кое-какие для нас малозаметные действия. Также, если у дочернего &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;’а нет родительского, либо же родительский есть и в момент вызова &lt;/span&gt;&lt;/font&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:13.5pt;mso-ansi-language:EN-US;"&gt;&lt;a href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Sys.UI/BehaviorClass/BehaviorInitializeMethod.aspx"&gt;&lt;strong&gt;&lt;font color="#004183"&gt;initialize&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt; &lt;font color="#000000"&gt;в нем выбрано некоторое значение, дочерний &lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt; будет заполнен данными (т.е. произойдет то же самое, что и при смене значения родительского &lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;’а&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;). &lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;Самое время посмотреть, как оно (заполнение данными) происходит.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;font color="#000000"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;Начинается все в методе _&lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;onParentChange&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;. Как уже говорилось, в веб-метод передается либо два, либо три параметра, в зависимости от значения &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;UseContextKey&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;. Эти параметры – &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;knownCategoryValues&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;, &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;category&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt; и &lt;/span&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;contextKey&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;. Все они строковые. В качестве последних двух передаются значения из одноименных полей класса. С первым чуть интереснее. Его значение формируется так: если у дочернего &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;’а&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt; нет родительского, то значение пустое. Если же родительский &lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;задан, то у него считывается &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;CascadingDropDownCategory&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt; и выбранное значение (&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;value&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;), и эта пара добавляется к &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;knownCategoryValues&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;. Если у родительского &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;задано значение поля &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;CascadingDropDownParentControlID&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;, &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;то берется «родитель» родительского &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;’а&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;и вышеописанные действия повторяются, и так далее до конца цепочки. Новая пара добавляется к началу &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;knownCategoryValues&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;, и в результате, получается вот такая строка:&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:maroon;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:Calibri;mso-fareast-language:EN-US;mso-fareast-theme-font:minor-latin;mso-bidi-language:AR-SA;"&gt;&amp;#39;category1:value1;category2:value2;...&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;font color="#000000"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;Здесь хочу обратить внимание на одну не очень очевидную вещь. Для успешной работы требуется, чтобы у родительского &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;’а было задано поле &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;CascadingDropDownCategory&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;font color="#000000"&gt;. Если он также имеет связанный с ним&lt;/font&gt; &lt;/span&gt;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDownBehavior&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;font color="#000000"&gt;, то это поле будет задано автоматически. В противном случае Вам придется задать значение этого поля явно.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt;Но вернемся к веб-методу. Вызывается он не через сгенерированные прокси, а напрямую – через метод &lt;/font&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;a class="" title="Sys.Net.WebServiceProxy.invoke" href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Sys.Net/WebServiceProxyClass/WebServiceProxyInvokeMethod.aspx"&gt;&lt;strong&gt;&lt;font color="#005bba"&gt;Sys.Net.WebServiceProxy.invoke&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;.&lt;font color="#000000"&gt; После сбора всех параметров для веб-метода выбрасывается клиентское событие &lt;/font&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;font color="#000000"&gt;populating(Object, &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;a class="" title="Sys.CancelEventArgs" href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Sys/CancelEventArgsClass/default.aspx"&gt;&lt;strong&gt;&lt;font color="#005bba"&gt;Sys.CancelEventArgs&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;)&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;, и если в обработчике свойство &lt;/span&gt;&lt;/font&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;a class="" title="Sys.CancelEventArgs.cancel" href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Sys/CancelEventArgsClass/CancelEventArgsCancelProperty.aspx"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;strong&gt;&lt;font color="#005bba"&gt;Sys.CancelEventArgs.cancel&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt; &lt;font color="#000000"&gt;было выставлено в &lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt;true&lt;/font&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt;, запрос отправляется на сервер. Веб-метод должен вернуть массив объектов типа&lt;/font&gt; &lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDownNameValue&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;a href="http://itkazan.com/blogs/aib/cddnv.jpg"&gt;&lt;img src="http://itkazan.com/blogs/aib/cddnv.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;font color="#000000"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;Если в процессе обработки запроса произошла ошибка, то по совершенно непонятной мне причине, информация об ошибке будет засунута в дочерний &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;. Если же все прошло без ошибок, то дочерний &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt; будет заполнен пришедшими данными, и если среди одного из объектов&amp;nbsp;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;value&lt;/span&gt;&lt;/span&gt; равно &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;SelectedValue&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt; или &lt;/font&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;font color="#000000"&gt;isDefaultValue ==&lt;/font&gt; &lt;span style="FONT-SIZE:11pt;COLOR:blue;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:Calibri;mso-fareast-language:EN-US;mso-fareast-theme-font:minor-latin;mso-bidi-language:AR-SA;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;,&lt;font color="#000000"&gt; то&amp;nbsp;это будет выбрано в &lt;/font&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;’е. Независимо от того, были ошибки или нет, в конце будет выброшено клиентское событие &lt;/span&gt;&lt;/font&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;font color="#000000"&gt;populated(Object,&lt;/font&gt; &lt;a class="" title="Sys.EventArgs" href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Sys/EventArgsClass/default.aspx"&gt;&lt;strong&gt;&lt;font color="#005bba"&gt;Sys.EventArgs&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#000000"&gt; &lt;font face="Times New Roman" size="3"&gt;Все, процесс обновления закончен.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;font color="#000000"&gt;Стоит&amp;nbsp;отметить, что п&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;ри любом изменении выбранного значения у&amp;nbsp;дочернего &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;’а&lt;/span&gt;&amp;nbsp;будет выброшено клиентское событие&amp;nbsp;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;SelectionChanged(Object, AjaxControltoolkit.CascadingDropDownSelectionChangedEventArgs)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;a href="http://itkazan.com/blogs/aib/CascadingDropDownSelectionChangedEventArgs.jpg"&gt;&lt;img src="http://itkazan.com/blogs/aib/CascadingDropDownSelectionChangedEventArgs.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;font color="#000000"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;Ну и&amp;nbsp;немного о&amp;nbsp;грустном. На момент написания статьи существовал баг. &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;LoadingText&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;выставляется до того, как выбрасывается событие &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;populating&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;, и если запрос был отменен, &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;LoadingText&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;остается введенным в дочерний &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt; &lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;вместо &lt;/span&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;"&gt;PromptText&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;, что может ввести пользователя в недоумение. &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman" color="#000000"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;Теперь, когда мы более-менее разобрались с принципом работы , можно сделать некоторые выводы.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt;Поскольку&amp;nbsp;&lt;/font&gt;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt;&lt;/span&gt;&lt;font color="#000000"&gt; работает через веб-метод (метод веб-сервиса или PageMethod), он никак не связан с жизненным циклом страницы, как на клиенте, так и на сервере. И следовательно, при обновлении &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;’а&lt;/span&gt;&amp;nbsp; с помошью&lt;/font&gt;&amp;nbsp;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt;&lt;/span&gt;&lt;font color="#000000"&gt; не будет постбэка, не сработают валидаторы, не вызовятся события жизненного цикла, не сработает &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;SelectedIndexChanged&lt;/span&gt;&lt;/span&gt; и т.д. Кроме того, для работы&lt;/font&gt;&amp;nbsp;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt;&lt;/span&gt; &lt;font color="#000000"&gt;не нужно помещать его в&lt;/font&gt;&amp;nbsp;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;UpdatePanel&lt;/span&gt;&lt;/span&gt; &lt;font color="#000000"&gt;- он ей все &lt;/font&gt;&lt;font color="#000000"&gt;равно не воспользуется. &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;
&lt;li&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt;Поскольку&lt;/font&gt;&amp;nbsp;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt;&lt;/span&gt; &lt;font color="#000000"&gt;работает через веб-метод, принципиальным в сигнатуре метода является кроме типа параметров не их порядок, а их имена. Т.е. имена параметров должны быть именно такие, какие указаны в хэлпе. При этом опять же не важно, что Вы используете - метод веб-сервиса или PageMethod.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;li&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt;&lt;/span&gt; &lt;font color="#000000"&gt;не имеет никакой серверной логики (веб-метод не в счет - он не является частью контрола). Все, что делает серверная часть контрола - это помогает облегчить создание клиентской части. Поэтому&lt;/font&gt;&amp;nbsp;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDownBehavior&lt;/span&gt;&lt;/span&gt; &lt;font color="#000000"&gt;можно создать и использовать в отдельности от серверной части, в том числе и без ASP.NET 2.0 вообще. Достаточно подключить к странице клиентские скрипты и воспользоваться методом &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;a href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Global/CreateShortcutMethod.aspx"&gt;&lt;strong&gt;&lt;font color="#004183"&gt;$create&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;:&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;"&gt;&lt;font color="#000000"&gt;&lt;font size="2"&gt;Sys.Application.add_init(function() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$create(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AjaxControlToolkit.CascadingDropDownBehavior, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;Category&amp;quot;:&amp;quot;Model&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;ClientStateFieldID&amp;quot;:&amp;quot;hiddenFieldClientStateId&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;ParentControlID&amp;quot;:&amp;quot;parentDropDownList&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;PromptText&amp;quot;:&amp;quot;Please select a model&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;ServiceMethod&amp;quot;:&amp;quot;GetDropDownContents&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;ServicePath&amp;quot;:&amp;quot;MyService.asmx&amp;quot;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;id&amp;quot;:&amp;quot;exCascadingDropDown&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;null,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;null,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$get(&amp;quot;childDropDownList&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);&lt;br /&gt;});&lt;/font&gt; &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt;из нерассмотренных ранее тут только свойство &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;ClientStateFieldID&lt;/span&gt;&lt;/span&gt;&amp;nbsp;. В качестве этого параметра нужно передать id некоторого хидден-поля, куда&lt;/font&gt;&amp;nbsp;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDownBehavior&lt;/span&gt;&lt;/span&gt; &lt;font color="#000000"&gt;будет сохранять выбранное значение&amp;nbsp;на время перезагрузки страницы.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt;В отличие от&lt;/font&gt; &lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;UpdatePanel&lt;/span&gt;&lt;/span&gt;, &lt;font color="#000000"&gt;запросы, посланные через&lt;/font&gt; &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;&lt;a class="" title="Sys.Net.WebServiceProxy.invoke" href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Sys.Net/WebServiceProxyClass/WebServiceProxyInvokeMethod.aspx"&gt;&lt;strong&gt;&lt;font color="#005bba"&gt;Sys.Net.WebServiceProxy.invoke&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;, &lt;font color="#000000"&gt;выполняются независимо друг от друга. Поэтому в случае, когда для выполнения запроса требуется много времени, возможна неприятная ситуация. Пользователь выбрал в родительском&amp;nbsp;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;’е&lt;/span&gt; некоторое значение. Ушел запрос. Не дожидаясь ответа, пользователь выбирает в этом же родительском&amp;nbsp;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;’е&lt;/span&gt; другое значение. Уходит второй запрос. Предположим, что для выполнения второго запроса нужно значительно менше времени, чем для выполнения первого, и в результате ответ на второй запрос пришел первым. Дочерний &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt; &lt;/span&gt;заполнился, пользователь уже собрался в нем что-то выбрать, и в этот момент приходит ответ на первый запрос, и&amp;nbsp;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt; заполняется невалидными&amp;nbsp;в данной&amp;nbsp;ситуации данными. В результате, занчения в дочернем&amp;nbsp;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;’е&lt;/span&gt; не соответствуют выбору в родительском &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;’е&lt;/span&gt;. Можно или нет считать это багом я не знаю. Однако разрешать эту ситуацию придется самостоятельно.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;li&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman" color="#000000"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;Для того, чтобы проводить клиентскую валидацию, управлять приоритетом запросов, показывать и прятать&amp;nbsp;анимированный гиф вместо отображения текста Loading, нужно использовать события&amp;nbsp;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;populating&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; и&amp;nbsp;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;populated&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;li&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt;Из-за необходимости иметь поле &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:10.0pt;mso-no-proof:yes;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;CascadingDropDownCategory&lt;/span&gt;&lt;/span&gt;, предпочтительнее (хотя и не обязательно) заполнять самый &amp;quot;верхний&amp;quot;&lt;/font&gt;&amp;nbsp;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;DropDownList&lt;/span&gt;&lt;/span&gt;&lt;font color="#000000"&gt; тоже с помошью&lt;/font&gt; &lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;li&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt;Расположение&amp;nbsp;&lt;/font&gt;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt;&lt;/span&gt; &lt;font color="#000000"&gt;в вебформе (и, следовательно, порядок их инициализации)&amp;nbsp;играет важную роль.&lt;/font&gt;&amp;nbsp;&lt;span style="COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="FONT-SIZE:11pt;COLOR:#2b91af;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CascadingDropDown&lt;/span&gt;&lt;/span&gt;&lt;font color="#000000"&gt;, заполняющий родительский &lt;span style="LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;mso-bidi-font-size:12.0pt;mso-ansi-language:EN-US;"&gt;select&lt;/span&gt;&lt;/span&gt;, должен инициализироваться раньше, чем заполняющий дочерний.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="mso-bidi-font-size:13.5pt;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="FONT-SIZE:12pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:RU;"&gt;&lt;font color="#000000"&gt;&amp;nbsp;Ну, пока вроде бы все. Если будет что-то, то либо эта статья будет дополнятся, либо выйдет отдельный пост с дополнениями.&lt;/font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;img src="http://www.itkazan.com/aggbug.aspx?PostID=1528" width="1" height="1"&gt;</description></item><item><title>Знакомство со Script# - часть 3: используем foreach и создаем свои события</title><link>http://www.itkazan.com/blogs/aib/archive/2007/07/17/MeetScriptSharpPart3.aspx</link><pubDate>Tue, 17 Jul 2007 17:00:00 GMT</pubDate><guid isPermaLink="false">a0bcd6ff-3bec-41dc-9fcd-885f6beec21b:1431</guid><dc:creator>Aib</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.itkazan.com/blogs/aib/rsscomments.aspx?PostID=1431</wfw:commentRss><comments>http://www.itkazan.com/blogs/aib/archive/2007/07/17/MeetScriptSharpPart3.aspx#comments</comments><description>&lt;P&gt;Первые попытки использовать выражение &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Tahoma','sans-serif';mso-ansi-language:RU;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;в Script# могут привести к генерации JS-скрипта, который не будет работать. Кроме того, в документации указано, что цикл &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Tahoma','sans-serif';mso-ansi-language:RU;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;нельзя использовать с массивами, поскольку они не реализуют интерфейс &lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:RU;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;IEnumera&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;ble&lt;/SPAN&gt;. Тем не менее, реализация &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Tahoma','sans-serif';mso-ansi-language:RU;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;в Script# полностью покрывает функционал выражения &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:RU;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;..&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;in&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Tahoma','sans-serif';mso-ansi-language:RU;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;в JS. Нужно лишь правильно им пользоваться.&lt;/P&gt;
&lt;P&gt;Итак, сперва рассмотрим различия между конструкциями &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Tahoma','sans-serif';mso-ansi-language:RU;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;в С# (ведь Script# - это просто компилятор для C#) и &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:RU;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;..&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;in&lt;/SPAN&gt; в JS.&lt;/P&gt;
&lt;P&gt;Во-первых, коду на C#&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; (&lt;SPAN style="COLOR:blue;"&gt;object&lt;/SPAN&gt; obj &lt;SPAN style="COLOR:blue;"&gt;in&lt;/SPAN&gt; col) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;object&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;val&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt; = &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;obj&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;соответствует код на JS&lt;/P&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; (&lt;SPAN style="COLOR:blue;"&gt;var&lt;/SPAN&gt; key &lt;SPAN style="COLOR:blue;"&gt;in&lt;/SPAN&gt; col) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;var&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;val&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt; = &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;col&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt;[&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;key&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Т.е., если в C# &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Tahoma','sans-serif';mso-ansi-language:RU;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;перечисляет элементы коллекции, то в JS &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:RU;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;..&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;in&lt;/SPAN&gt; перечисляет строковые ключи.&lt;/P&gt;
&lt;P&gt;Во-вторых, &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Tahoma','sans-serif';mso-ansi-language:RU;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;в C# может работать только с объектами, реализующими интерфейс &lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:RU;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;IEnumera&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;ble&lt;/SPAN&gt;, а &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:RU;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;..&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;in&lt;/SPAN&gt; в JS позволяет пройтись по всем пользовательским членам экземпляра класса.&lt;/P&gt;
&lt;P&gt;Теперь разберемся с тем, как &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:RU;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;..&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;in&lt;/SPAN&gt; в JS работает с массивами. Вот небольшой пример JS-кода:&lt;/P&gt;
&lt;P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; a = [1, 2, 3];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; s1 = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; s2 = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; (&lt;SPAN style="COLOR:blue;"&gt;var&lt;/SPAN&gt; i = 0; i &amp;lt; a.length; i++) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;s1 += i;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; (&lt;SPAN style="COLOR:blue;"&gt;var&lt;/SPAN&gt; i &lt;SPAN style="COLOR:blue;"&gt;in&lt;/SPAN&gt; a) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;s2 += i;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;alert(&lt;SPAN style="COLOR:#a31515;"&gt;"sum1: "&lt;/SPAN&gt;+s1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt;alert(&lt;SPAN style="COLOR:#a31515;"&gt;"sum2: "&lt;/SPAN&gt;+s2);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/P&gt;
&lt;P&gt;Результат его выполнения, возможно, кого-то удивит. По идее, s1 и s2 должны быть равны. Однако, в первом случае i – это число, а во втором – строка. Таким образом, внутри конструкции &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:RU;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;..&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;in&lt;/SPAN&gt; массив (так же как и любой другой JS-объект) воспринимается как словарь, для которого ключом является строка (а не число). &lt;/P&gt;
&lt;P&gt;Учитывая все вышенаписанное, принципы использования &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Tahoma','sans-serif';mso-ansi-language:RU;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;в Script# выглядят вполне логичными. &lt;/P&gt;
&lt;P&gt;В пространстве имен &lt;FONT face="Courier New"&gt;System&lt;/FONT&gt; есть класс &lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;Dictionary&lt;/SPAN&gt;, который реализует интерфейс &lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:RU;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;IEnumera&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;ble&lt;/SPAN&gt;, что позволяет использовать его в &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;foreach&lt;/SPAN&gt;, а также содержит статический метод &lt;FONT face="Courier New"&gt;GetDictionary&lt;/FONT&gt;, с помощью которого можно получить «&lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;Dictionary&lt;/SPAN&gt;-обертку» для любого объекта. При генерации JS-кода он преобразуется в &lt;FONT face="Courier New"&gt;Object&lt;/FONT&gt;, так что никаких отдельных классов не создается.&lt;/P&gt;
&lt;P&gt;В качестве элемента &lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;Dictionary&lt;/SPAN&gt; выступает тип &lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;DictionaryEntry&lt;/SPAN&gt;, почти что точная копия своего «однофамильца» из FCL, с тем лишь отличием, что свойство Key имеет тип &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;string&lt;/SPAN&gt;, а не &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;object&lt;/SPAN&gt;:&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-font-family:'Times New Roman';mso-fareast-language:RU;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#006018;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;[imported]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#1000a0;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt; &lt;SPAN style="COLOR:#1000a0;"&gt;sealed&lt;/SPAN&gt; &lt;SPAN style="COLOR:#1000a0;"&gt;class&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;DictionaryEntry&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#1000a0;"&gt;internal&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;mso-ansi-language:EN-US;"&gt;&lt;A href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://aacorlib:0.3.0.0:8fc0e3af5abcb6c4/System.DictionaryEntry/.ctor()"&gt;&lt;SPAN style="COLOR:black;FONT-FAMILY:'Courier New';TEXT-DECORATION:none;mso-fareast-language:RU;mso-bidi-font-weight:bold;text-underline:none;"&gt;DictionaryEntry&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#006018;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[IntrinsicProperty]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#1000a0;"&gt;public&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;mso-bidi-font-weight:bold;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;mso-ansi-language:EN-US;"&gt;&lt;A href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://aacorlib:0.3.0.0:8fc0e3af5abcb6c4/System.DictionaryEntry/property:Key:String"&gt;&lt;SPAN style="COLOR:black;FONT-FAMILY:'Courier New';TEXT-DECORATION:none;mso-fareast-language:RU;mso-bidi-font-weight:bold;text-underline:none;"&gt;Key&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt; { &lt;SPAN style="COLOR:#1000a0;"&gt;get&lt;/SPAN&gt;; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#006018;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[IntrinsicProperty]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:#1000a0;"&gt;public&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;object&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;mso-bidi-font-weight:bold;"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;mso-ansi-language:EN-US;"&gt;&lt;A href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://aacorlib:0.3.0.0:8fc0e3af5abcb6c4/System.DictionaryEntry/property:Value:Object"&gt;&lt;SPAN style="COLOR:black;FONT-FAMILY:'Courier New';TEXT-DECORATION:none;mso-fareast-language:RU;mso-bidi-font-weight:bold;text-underline:none;"&gt;Value&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-language:RU;"&gt; { &lt;SPAN style="COLOR:#1000a0;"&gt;get&lt;/SPAN&gt;; }&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;P&gt;В результате, код на Script#:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;DictionaryEntry&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; entry &lt;SPAN style="COLOR:blue;"&gt;in&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;"&gt;Dictionary.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-bidi-font-weight:bold;"&gt;&lt;A href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://aacorlib:0.3.0.0:8fc0e3af5abcb6c4/System.Dictionary/GetDictionary(Object):System.Dictionary"&gt;&lt;SPAN style="COLOR:black;TEXT-DECORATION:none;text-underline:none;"&gt;GetDictionary&lt;/SPAN&gt;&lt;/A&gt;(obj)&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; key = entry.Key;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;object&lt;/SPAN&gt; value = entry.Value;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;будет преобразован в такой JS-код:&lt;/P&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; $dict1 = obj;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;for&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt; (&lt;SPAN style="COLOR:blue;"&gt;var&lt;/SPAN&gt; $key2 &lt;SPAN style="COLOR:blue;"&gt;in&lt;/SPAN&gt; $dict1) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;var&lt;/SPAN&gt; entry = { key: $key2, value: $dict1[$key2] };&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;var&lt;/SPAN&gt; key = entry.key;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0cm 0cm 0pt;LINE-HEIGHT:normal;mso-layout-grid-align:none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;"&gt;&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;var&lt;/SPAN&gt; value = entry.value;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';mso-no-proof:yes;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Таким образом, использование &lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-no-proof:yes;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;foreach&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Calibri','sans-serif';mso-ansi-language:RU;mso-no-proof:yes;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:'Times New Roman';mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;вместе с классами &lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Dictionary&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Calibri','sans-serif';mso-ansi-language:RU;mso-no-proof:yes;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:'Times New Roman';mso-hansi-theme-font:minor-latin;mso-bidi-font-family:'Times New Roman';mso-bidi-theme-font:minor-bidi;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt; &lt;/SPAN&gt;и &lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';mso-ansi-language:EN-US;mso-fareast-font-family:'Times New Roman';mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;DictionaryEntry&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Calibri','sans-serif';mso-ans