Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
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, 17:24 |
|
||
|
Microsoft Atlas
|
|||
|---|---|---|---|
|
#18+
Смотреть в PreInit на Request.UserAgent Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 23:12 |
|
||
|
Microsoft Atlas
|
|||
|---|---|---|---|
|
#18+
Да нет же. Тип браузера я получить могу. Ты наверное подумал, что у меня Request.Browser пустой? Если в преинит вместо manager.EnablePartialRendering = Request.Browser.Browser.ToLower().IndexOf("safari") < 0; поставить manager.EnablePartialRendering = false; ошибка вылетает та же. Следовательно в преините не находится объект ScriptManager. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2006, 18:13 |
|
||
|
Microsoft Atlas
|
|||
|---|---|---|---|
|
#18+
Cannot change the value of EnablePartialRendering on ScriptManager or ScriptManagerProxy after PreInit Так в том то и фишка что надо сделать все до base.PreInit() только вот как скрипт манагер получить до преинита непонятно:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2006, 18:42 |
|
||
|
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"); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2006, 12:51 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33960351&tid=1389949]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
94ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 265ms |
| total: | 471ms |

| 0 / 0 |
