#javascript #asp.net
#javascript #asp.net
Вопрос:
<script language="javascript">
res = "amp;res=" screen.width "x" screen.height "amp;d=" screen.colorDepth
top.location.href="Login.aspx?action=set" res
</script>
Source Error:
An unhandled exception was generated during the execution of the current web request,Information regarding origin and location exception can be identified using the exception stact trace below.
Stack trace:
[Null ReferenceException: object reference not set to an instance of an object.]
page_Load(object sender EventArgs e) 143
and next from System.Web
В зависимости от разрешения экрана я настраиваю веб-страницу входа в систему. Как мне избежать исключения с нулевой ссылкой?
Комментарии:
1. Где вы его берете? Не могли бы вы опубликовать какой-нибудь stacktrace, пожалуйста?
2. в каком браузере вы получили эту ошибку?
3. пожалуйста, опубликуйте свой код события загрузки страницы
Ответ №1:
Вероятно, вам следует рассмотреть возможность использования макета страницы на основе потока, который автоматически настраивается. Однако мне приходилось делать что-то подобное в прошлом, и хитрость заключается в том, чтобы поместить код изменения размера в тайм-аут:
setTimeout(function() {
res = "amp;res=" screen.width "x" screen.height "amp;d=" screen.colorDepth
top.location.href="Login.aspx?action=set" res
}, 0);
Это требуется, потому что код скрипта не выполняется детерминированно. Иногда оно запускается до того, как размеры экрана будут вычислены и заполнены. Другие инструменты Ajax, такие как jQuery, решают именно эту проблему, помещая код инициализации страницы в специальный обработчик загрузки.
Комментарии:
1. но на странице aspx.cs в событии Page_Load я проверяю, если (запрос. Строка запроса [«действие»] != null) Сеанс [«ScreenResolution»] = Запрос. Строка запроса [«res»] . toString(); } Тогда также возникает исключение