|
29.06.2010, 22:29 | #1 |
Участник
|
CRM & DropDownList
Написал свою asp.net страничку..на ней 2 DropDownList, которые должны изменяться каскадно..Типа выбираешь компанию и в зависимости от компании выбираются проекты. Вот код DD листов
Код: <asp:DropDownList ID="ddClients" AutoPostBack="true" runat="server"></asp:DropDownList> <asp:DropDownList ID="ddProjects" AutoPostBack="true" runat="server"></asp:DropDownList> Код: ddClients.SelectedIndexChanged += new EventHandler(ddClients_SelectedIndexChanged); ddProjects.SelectedIndexChanged += new EventHandler(ddProjects_SelectedIndexChanged); //if (!IsPostBack && !ScriptManager1.IsInAsyncPostBack) //{ FillCompanysList(); FillProjects(); FillTasks(); //} Если раскоментировать все ещё хуже. При выборе значения листы не заполняются первичными значениями и собитие так же не срабатывает. Дело тут скорее всего во viewstate. Если viewstate поставить false все то же самое. Думается мне что CRM стирает значения viewstate. Раньше я сталкивался уже с этй проблемой,но я её обошел тем что значения вписывал сразу в тегах Код: <asp:DropDownList></asp:DropDownList> |
|
30.06.2010, 15:24 | #2 |
Участник
|
Мало чего понятно из того, что вы описали.
Ну в целом ясно, что ничего не работает... Полный код aspx, cs и web.config в студию!
__________________
Опыт позволяет ошибаться гораздо увереннее. |
|
30.06.2010, 16:41 | #3 |
Moderator
|
Еще возможен вариант обратится на специализированный форум по ASP.NET или почитать MSDN! Лично я не вижу никакой связи с CRM.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
30.06.2010, 22:33 | #4 |
Участник
|
Ок, коротко не получается тогда песочница для тестов. Сделаем тестовое приложение со страничкой..Код прозрачен в архиве вложения test...Запускаем приложение..все ок.. Теперь делаем вот что.. Настраиваем Site Map, как в приложеной картинке Sitemap и получается то что на картинке Result.. И теперь пытаемся добиться корректной работы..У меня это не получилось. Сегодня всю функциональность переделывал на работу через javascript. Можно эту страничку вставить в любой другой фрейм. На сколько я помню результат будет тот же. CRM думаю очень даже причем. Можно заставить срабатывать событие если строки ДД листа задать сразу в тегах,а не динамически в .cs коде,но это не то что требуется.
Последний раз редактировалось Kipetcoff; 30.06.2010 в 22:37. |
|
01.07.2010, 09:27 | #5 |
Moderator
|
Коллеги, кто этот брейн дамп расшифровал? От нас-то вы что хотите? В SDK к системе есть пример (файл кастомизации прямо!) для того как сделать зависимые пиклисты - изучите и сделайте по аналогии. Утилиту вы нашли правильную (CRM Demo Tols), но используете не по назначению. Код который она формирует нужно размещать на форме объекта, а не в сторонней странице.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
01.07.2010, 13:04 | #6 |
Участник
|
Спокойно, я понимаю где-то половину!
Kipetcoff, я вот установил Ваш приаттаченный тест. У меня все нормально работает хоть отдельно, хоть "в составе" CRM. Правда, чтобы заработало, я еще дописал в web.config вот такую строчечку: Код: <pages enableViewState="true" />
__________________
Опыт позволяет ошибаться гораздо увереннее. |
|
|
За это сообщение автора поблагодарили: Kipetcoff (1). |
01.07.2010, 09:56 | #7 |
Участник
|
Не знаю как вам ещё разжевать. Я не знаю о каком вы файле кастомизации говорите и не понимаю куда вы клоните. Мне нужна аналогия этого. http://mmcrm.ru/?p=870 Разница лишь в том что я попытался тут использовать asp.net элементы, а не делать все на javascript.+ путь приписываю не напрямую в xml, а использую прогу. И я привел вам пример простейшей страницы с вызовом события. Вощем ладно,пока я нашел выход, а с этим до досуге разберусь.
|
|
01.07.2010, 15:07 | #8 |
Участник
|
SUPER!!! Я почему-то забыл про включение viewstate для страницы. Тут на самом деле 2 решения. Положить в папку конфиг и в нем включить viewstate..или на странице прописать <%@ Page Language="C#" AutoEventWireup="true" EnableViewState="true" . У CRM в конфиге он включен только для некоторых разделов.
|
|
|
|