Считайте размер окна браузера с помощью JavaScript, а затем передайте его C # - PullRequest
0 голосов
/ 26 декабря 2011

Я хотел бы сделать следующее

Мне нужно сгенерировать n вкладок на основе разрешения экрана. Например, если разрешение экрана 800x600, я хочу создать 4 вкладки, используя C #. Если это 1024x764, то 10 вкладок.

Я знаю, что могу получить высоту и ширину, используя screen.width и screen.height, используя JavaScript. Я написал это на onload() тела и установил два скрытых поля, чтобы получить значение на стороне сервера.

Проблема в том, что код на стороне сервера будет выполнен первым, а код JavaScript будет выполнен. Я прав ? Из-за этого я не могу получить правильное значение в скрытых полях, когда мне это нужно. Но когда я использую alert () в JavaScript коде, он показывает правильное разрешение.

Как получить правильное разрешение в коде на стороне сервера?

Ответы [ 5 ]

1 голос
/ 27 декабря 2011

Это помогло мне createCookie("cookieScreenWidth", screen.width, 1);, где createCookie (...) - определенная пользователем функция.Я написал код на странице входа в систему.

Чтобы я мог получить вейл на своей странице как (используя C #) Request.Cookies.Get("cookieScreenWidth").Value

1 голос
/ 26 декабря 2011

Найдите файл cookie, содержащий ширину экрана на сервере. Если cookie не существует, отправьте обратно страницу, которая создает cookie и выполняет перенаправление на исходный URL. Когда файл cookie доступен, используйте значение ширины, чтобы определить количество создаваемых вкладок. См. Здесь руководство по управлению cookie-файлами на стороне браузера: http://www.quirksmode.org/js/cookies.html или используйте плагин jQuery cookie , если уже используется jQuery. Вам нужно будет генерировать новое значение cookie при каждом изменении размера браузера.

Теперь, когда у вас есть общее представление о том, как это сделать, позвольте мне сказать, что я думаю, что лучше создать интерфейс с вкладками, чтобы он работал с одинаковым количеством вкладок независимо от ширины экрана. Проверьте, как работают вкладки пользовательского интерфейса jQuery, переместив каждую вкладку влево, чтобы при отсутствии экрана, отображающего их все в одной строке, он переходил на другую строку (и т. Д.).

0 голосов
/ 26 декабря 2011

Получите размеры окна в javascript и передайте их на страницу сервера, используя ajax, получите ответ (HTML для 4 вкладок / HTML для 10 вкладок) с этой страницы и загрузите его на начальную страницу

0 голосов
/ 26 декабря 2011

Не самый элегантный, но вы можете захватить переменные javascript на одной странице-заглушке, а затем перейти на страницу asp с параметрами экрана res, используя Request.Params на стороне сервера

0 голосов
/ 26 декабря 2011

Вы можете получить разрешение только после полного обхода (сервер обслуживает страницу, javascript читает значения, браузер передает значения на сервер).

Это может быть сделано через AJAX, или путем размещения формы, файлов cookie или через URL. Много разных способов добиться этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...