powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Определение размеров дисплея. Что-то не работает. Не пойму что...
30 сообщений из 30, показаны все 2 страниц
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38444927
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASP.NET FW 3.5 WebForms
Хочу передать на серверную сторону информацию о размере дисплея.
Исп-ю следующее решение: http://stackoverflow.com/questions/11628859/how-can-i-determine-browser-window-size-on-server-side-c-sharp

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
var height=$(window).height();
			var width=$(window).width();
			//alert(height);
			$.ajax({
			    url: "/getwindowsize.ashx",
			    type: "POST",
			    data : { Height: height, 
			        Width:width, 
			        selectedValue:selectedValue },
			    contentType: "application/json; charset=utf-8",
			    dataType: "json",
			    success: function (response) { 
			        // do stuff
			    }

          
			});



Хэндлер:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<%@ WebHandler Language="C#" Class="getwindowsize" %>

using System;
using System.Web;

public class getwindowsize : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        //context.Response.ContentType = "text/plain";
        //context.Response.Write("Hello World");
        context.Response.ContentType = "application/json";
        string Height = context.Request.QueryString["Height"];
        string Width = context.Request.QueryString["Width"];
        context.Session["DWH"] = Width.ToString() + "x" + Height.ToString(); 
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}



Так вот эта конструкция не работает.
Никак не соображу что тут не так. Ошибок вроде нигде никаких.
А вот Session потом в ВэбФорме опросить не могу ибо = null
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38444946
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
 context.Session["DWH"] = Width.ToString() + "x" + Height.ToString(); 



Ошибка тут. Говорит что NullReferenceObject.
Почему? И как мне тогда ещё серверу данные скормить?
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38444992
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сессию для хенделара подключи
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445112
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuсессию для хенделара подключи

Не подскажешь КАК?
Компилироваться то оно компилируется? Чего не хватает?
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445142
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот так
Код: c#
1.
2.
public class getwindowsize : IHttpHandler, IRequiresSessionState
...
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445153
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuвот так
Код: c#
1.
2.
public class getwindowsize : IHttpHandler, IRequiresSessionState
...



Сделал уже.
ЭТА ошибка пропала, но всё равно на вэбформе
Код: c#
1.
2.
3.
4.
if (HttpContext.Current.Session["DWH"] != null)
        {
            Literal_Test.Text = HttpContext.Current.Session["DWH"].ToString();
        }



не работает ибо = null.
НО ПОЧЕМУ?
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445178
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сначала код на сервере отрабатывает, потом на клиенте.
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445183
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй через безопасное приведение. и вообще вам нравится такие ошметки код? сделайте модель с get/set в одном месте и обращайтесь к ней, примерно так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public static DWH{
get{
return HttpContext.Current.Session["DWH"] as string
}
set{ 
HttpContext.Current.Session["DWH"] = value;
}
}
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445191
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а точно, там ж ajax
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445197
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaсначала код на сервере отрабатывает, потом на клиенте.

Ага, а потом (очередная/следующая загрузка страницы) снова на сервере и вот тогда самое позднее всё должно быть на месте т.к. я нигде не переопределяю переменную.
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445206
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если напрямую вызвать http://www.mycompany.com/getwindowsize.ashx?Width=1&Height=20
а потом зайти на http://www.mycompany.com/mytest.aspx то всё работает.
То есть переменная в хэндлере устанавливается и потом без проблем опрашивается на страничке.
Похоже не работает JQuery-Код:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
var height=$(window).height();
			var width=$(window).width();
			//alert(height);
			$.ajax({
			    url: "/getwindowsize.ashx",
			    type: "POST",
			    data : { Height: height, 
			        Width:width, 
			        selectedValue:selectedValue },
			    contentType: "application/json; charset=utf-8",
			    dataType: "json",
			    success: function (response) { 
			        // do stuff
			    }

          
			});
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445218
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а под дебагом посмотреть?
и ху из "selectedValue "
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445228
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
воу погодите, вы шлете данные в теле запроса, а ловите через реквест?
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445230
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaну а под дебагом посмотреть?
и ху из "selectedValue "

selectedValue удалил вообще.
Теперь вообще всё чисто - нет JavaScript-ошибок.
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445244
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuвоу погодите, вы шлете данные в теле запроса, а ловите через реквест?

Бинго!
Сделал GET вместо POST - заработало.
Вот жеж лох слепошарый!
Спасибо!
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445270
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но вообще это все от лукавого :)
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445405
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaно вообще это все от лукавого :)

Ну это само собой ;)
Буду благодарен за лучший способ.
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445419
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234Zoriaно вообще это все от лукавого :)

Ну это само собой ;)
Буду благодарен за лучший способ.
зависит от "а назачем" вообще?
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445443
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZoriaM234пропущено...


Ну это само собой ;)
Буду благодарен за лучший способ.
зависит от "а назачем" вообще?

Ну вот есть страничка на которой показывается содержимое например текст + картинки.
Хочется размер картинки варьировать в зависимости от размера окна браузера.
Система старая. В том смысле что не с нуля это делается.
Некоторые картинки выводятся примерно так img src="/GetPictureFunction?width=800&height=600"
вот хочется сообщить этой функции реальный размер окна браузера что бы та соответственно ужала при необходимости картинку,
ну например если размер окна по ширине 640 а в параметре функции стоит 800, то нужно пропорционально уменьшить картинку.
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445532
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
беее..
а максимальный размер у картынки какой?
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445551
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaбеее..
а максимальный размер у картынки какой?

Угу, беее
РАЗНЫЙ ;)
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445923
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234,

По сабжу: Миша, не передашь ты ничего полезного.
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445932
Фотография konstsch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
типа адаптивная выдача картинок
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445942
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
konstschтипа адаптивная выдача картинок
Каким боком картинки относятся к сабжу? Тем более, что там уж своих технологий и автоматически дохрена и больше.
Учиться и учиться, как говорил... .
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38445955
Фотография konstsch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу вот есть страничка на которой показывается содержимое например текст + картинки.
Хочется размер картинки варьировать в зависимости от размера окна браузера.
Система старая. В том смысле что не с нуля это делается.
Некоторые картинки выводятся примерно так img src="/GetPictureFunction?width=800&height=600"
вот хочется сообщить этой функции реальный размер окна браузера что бы та соответственно ужала при необходимости картинку,
ну например если размер окна по ширине 640 а в параметре функции стоит 800, то нужно пропорционально уменьшить картинку.

по видимому вот этим боком
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38446239
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234Zoriaпропущено...

зависит от "а назачем" вообще?

Ну вот есть страничка на которой показывается содержимое например текст + картинки.
Хочется размер картинки варьировать в зависимости от размера окна браузера.
Система старая. В том смысле что не с нуля это делается.
Некоторые картинки выводятся примерно так img src="/GetPictureFunction?width=800&height=600"
вот хочется сообщить этой функции реальный размер окна браузера что бы та соответственно ужала при необходимости картинку,
ну например если размер окна по ширине 640 а в параметре функции стоит 800, то нужно пропорционально уменьшить картинку.

может вопрос проще решить? img src="/GetPictureFunction?width=800&height=600"
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38446244
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234Zoriaпропущено...

зависит от "а назачем" вообще?

Ну вот есть страничка на которой показывается содержимое например текст + картинки.
Хочется размер картинки варьировать в зависимости от размера окна браузера.
Система старая. В том смысле что не с нуля это делается.
Некоторые картинки выводятся примерно так img src="/GetPictureFunction?width=800&height=600"
вот хочется сообщить этой функции реальный размер окна браузера что бы та соответственно ужала при необходимости картинку,
ну например если размер окна по ширине 640 а в параметре функции стоит 800, то нужно пропорционально уменьшить картинку.

может вопрос проще решить?
ведь у вас есть вызов обоработчика img src="/GetPictureFunction?width=800&height=600" - 800 тут стоит от фонаря. может вместо 800 передавать цифру текущего разрешения?
ее легко определить на js и подставить в обработчик. так вы избавитесь от привязки к сессии.
и по-моему архитектурно более правильно, потому как разрешение монитора - клиентская зона, а обработчик картинки работает не сервере.
короче - запросить с сервера картинку с разрешением пользователя
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38446568
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
monstrUM234пропущено...


Ну вот есть страничка на которой показывается содержимое например текст + картинки.
Хочется размер картинки варьировать в зависимости от размера окна браузера.
Система старая. В том смысле что не с нуля это делается.
Некоторые картинки выводятся примерно так img src="/GetPictureFunction?width=800&height=600"
вот хочется сообщить этой функции реальный размер окна браузера что бы та соответственно ужала при необходимости картинку,
ну например если размер окна по ширине 640 а в параметре функции стоит 800, то нужно пропорционально уменьшить картинку.

может вопрос проще решить?
ведь у вас есть вызов обоработчика img src="/GetPictureFunction?width=800&height=600" - 800 тут стоит от фонаря. может вместо 800 передавать цифру текущего разрешения?
ее легко определить на js и подставить в обработчик. так вы избавитесь от привязки к сессии.
и по-моему архитектурно более правильно, потому как разрешение монитора - клиентская зона, а обработчик картинки работает не сервере.
короче - запросить с сервера картинку с разрешением пользователя

Это конечно возможное решение, но трудозатраты выше. То есть - не проще.
Придётся писать jQuery функцию которая пробегает по всем картинкам на страничке.
При этом придётся учитывать что в src может стоять как вышеперведённый вызов функции, так и нормальный путь к картинке насервере типа src="/mypics/mypic.jpg". У этих нужно будет менять аттрибуты "высоту/ширину" или заменять в src на вызов функции которая проверит что эта за картинка и соответственно её обработает.
Я согласен что так можно сделать но как-то тоже не очень что бы очень. ИМХО.
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38446583
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234,

а что у вас должно происходить, когда пользователь меняет размеры окна браузера?
...
Рейтинг: 0 / 0
Определение размеров дисплея. Что-то не работает. Не пойму что...
    #38446742
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234[

Это конечно возможное решение, но трудозатраты выше. То есть - не проще.
Придётся писать jQuery функцию которая пробегает по всем картинкам на страничке.
При этом придётся учитывать что в src может стоять как вышеперведённый вызов функции, так и нормальный путь к картинке насервере типа src="/mypics/mypic.jpg". У этих нужно будет менять аттрибуты "высоту/ширину" или заменять в src на вызов функции которая проверит что эта за картинка и соответственно её обработает.
Я согласен что так можно сделать но как-то тоже не очень что бы очень. ИМХО.

зато в сессии нет необходимости знать размер разрешения на клиенте.
вообще у вас два сценария
1. есть картинки на сервере с нормальными путями
2. есть создаваемые динамически

1. путь разрешается вменяемой версткой - резиновый дизайн, min-width и прочее.
2. между прочим тоже можно и нужно решить версткой.

вы вообще задумались о том,что вы пытаетесь решить и зачем ?
то есть пользователь открыл страницу на 1200 - вы ему выдали на 1200. а потом справа наверху шелкнул и стало у него 900 - вы что будете делать ? между прочим надо перегрузить страницу с новыми картинками.
событие Resize окна обрабатывать нужно. ну если вы хотите все варианты действий пользователя обработать.

динамически сгенерированные картинки можно отфильтровать через значение src или дайтие им css с нужным именем.
эти картинки можно вызывать, передавая ширину окна.
иначе в обработке Resize и прочих мутных вещах вы утонете

но разумнее решить задачу резиновой версткой. у вас верстка какое минимальное разрешение поддерживает ?
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Определение размеров дисплея. Что-то не работает. Не пойму что...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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