ASP.NET User Control в модальном всплывающем окне при загрузке страницы - PullRequest
0 голосов
/ 02 ноября 2011

Итак, у меня есть элемент управления, userlogin.ascx, который я хочу вызвать с модальным эффектом, когда пользователь пытается получить доступ к определенным страницам, когда не вошел в систему. Как мне поступить? Спасибо.

1 Ответ

0 голосов
/ 02 ноября 2011

Я думаю, что если вы используете плагин диалога jQuery, вы можете загрузить URL в диалог.Так что создайте простую страницу .ASPX, загрузите в нее свой .ascx и вставьте URL-адрес в модал:

$("#divid").load('http://your.aspx').dialog({modal:true}); 

Обратите внимание, что вам нужно иметь div с id "divid" (или любым другим)на странице вызова, чтобы это работало.Подробнее здесь: http://docs.jquery.com/UI/Dialog#options

Кроме того, вы можете поместить это в функцию javascript в .js - на страницах, где вы хотите это вставить, 1) убедитесь, что ваш div там и2) в загрузке страницы проверьте Request.IsAuthenticated, и если он не использует Page.ScriptManager для вызова вашей функции .js.

Если вы хотите, чтобы все было аккуратно, сверните эту функциональность в небольшой .acsxконтроль, а затем просто перетащите это на страницы, где вы хотите, чтобы заставить людей войти в систему.

Наконец, имейте в виду, что JavaScript может быть отключен, так что вы можете подумать о безопасности всегоподход ... Если вы хотите придерживаться этого, можно выполнить некоторое обнаружение JavaScript, когда пользователь впервые заходит на ваш сайт, например, использовать jquery для асинхронного вызова .asmx или аналогичного, и установить, например, для Session ["userHasJavascript"] значение true., но опять же это не гарантирует, что они не отключат его позже.Если не считать длинного, вам, как правило, лучше перенаправить на страницу входа ...

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