powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Microsoft Atlas
5 сообщений из 5, страница 1 из 1
Microsoft Atlas
    #33959430
BaraDead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть проблемка с с Атласом.

Имеется 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."

Может кто-нить подскажет, как можно это реализовать.
...
Рейтинг: 0 / 0
Microsoft Atlas
    #33959919
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотреть в PreInit на Request.UserAgent

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
Microsoft Atlas
    #33960351
BaraDead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да нет же. Тип браузера я получить могу. Ты наверное подумал, что у меня Request.Browser пустой?

Если в преинит вместо manager.EnablePartialRendering = Request.Browser.Browser.ToLower().IndexOf("safari") < 0;

 поставить manager.EnablePartialRendering = false;

 ошибка вылетает та же. Следовательно в преините не находится объект ScriptManager.
...
Рейтинг: 0 / 0
Microsoft Atlas
    #33960363
vinipuh@list.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cannot change the value of EnablePartialRendering on ScriptManager or ScriptManagerProxy after PreInit

Так в том то и фишка что надо сделать все до base.PreInit()
только вот как скрипт манагер получить до преинита непонятно:(
...
Рейтинг: 0 / 0
Microsoft Atlas
    #33961840
BaraDead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уфф. Решил проблему. Если кому интересно, то делается так:
<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");
}
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Microsoft Atlas
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]