Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.09.2006, 17:24
|
|||
|---|---|---|---|
|
|||
Microsoft Atlas |
|||
|
#18+
Есть проблемка с с Атласом. Имеется aspx страница с таким куском: <atlas:ScriptManager ID="scriptManager" runat="server" EnablePartialRendering="true" /> <atlas:UpdatePanel ID="pnlEditTrack" runat="server"> bla-bla-bla </atlas:UpdatePanel> Все отлично работало, пока не начал тестить на Safari. Под ним не работает апдейт панель. Но если поставить EnablePartialRendering="false", то все работает, пусть и без частичного рендеринга. Отсюда появилась мысль, что нужно выставлять EnablePartialRendering в зависимости от браузера. И вот дальше у меня ничего не получается: если делаю так protected override void OnInit(EventArgs e) { ScriptManager manager = ScriptManager.GetCurrent(this.Page); manager.EnablePartialRendering = Request.Browser.Browser.ToLower().IndexOf("safari") < 0; base.OnInit(e); } то вываливается ексепшн "Cannot change the value of EnablePartialRendering on ScriptManager or ScriptManagerProxy after PreInit." если делаю так protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); ScriptManager manager = ScriptManager.GetCurrent(this.Page); manager.EnablePartialRendering = Request.Browser.Browser.ToLower().IndexOf("safari") < 0; } то вываливается ексепшн "Object reference not set to an instance of an object." Может кто-нить подскажет, как можно это реализовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.09.2006, 23:12
|
|||
|---|---|---|---|
|
|||
Microsoft Atlas |
|||
|
#18+
Смотреть в PreInit на Request.UserAgent Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.09.2006, 18:13
|
|||
|---|---|---|---|
|
|||
Microsoft Atlas |
|||
|
#18+
Да нет же. Тип браузера я получить могу. Ты наверное подумал, что у меня Request.Browser пустой? Если в преинит вместо manager.EnablePartialRendering = Request.Browser.Browser.ToLower().IndexOf("safari") < 0; поставить manager.EnablePartialRendering = false; ошибка вылетает та же. Следовательно в преините не находится объект ScriptManager. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.09.2006, 18:42
|
|||
|---|---|---|---|
|
|||
Microsoft Atlas |
|||
|
#18+
Cannot change the value of EnablePartialRendering on ScriptManager or ScriptManagerProxy after PreInit Так в том то и фишка что надо сделать все до base.PreInit() только вот как скрипт манагер получить до преинита непонятно:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.09.2006, 12:51
|
|||
|---|---|---|---|
|
|||
Microsoft Atlas |
|||
|
#18+
Уфф. Решил проблему. Если кому интересно, то делается так: <atlas:ScriptManager ID="scriptManager" runat="server" OnInit="ScriptManagerOnInit" EnablePartialRendering="true" /> protected void ScriptManagerOnInit(object sender, EventArgs e) { scriptManager.EnablePartialRendering = !Request.Browser.Browser.ToLower().Contains("safari"); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=18&tablet=1&tid=1389949]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 362ms |

| 0 / 0 |
