У меня есть класс безопасности, который вызывается классом PageBase (от которого наследуются все страницы), который перенаправляет пользователя либо на домашнюю страницу, либо на страницу входа (в зависимости от того, вошли они в систему или нет),если они пытаются получить доступ к странице, которую они не имеют права видеть.Я хочу предупредить пользователя об этом, сказав что-то вроде
"You are not authorized to view this page, redirecting you"
или что-то в этом роде.Я знаю, что вы можете вызвать javascript из своего кода, чтобы показать предупреждение пользователю.
В моем классе PageBase (опять же, все страницы будут наследоваться) есть общий метод Page_Init (..),и когда я пытаюсь позвонить моему js оттуда, ничего не происходит.Я установил точки останова в своем коде, и код ударил, но пользователь не получает предупреждение.Я предполагаю, что это потому, что Page_Init находится слишком рано в жизненном цикле страницы для выполнения js, и именно это вызывает эту проблему.
Есть ли способ обойти это без необходимости добавлять функцию к каждой отдельной странице?Кроме того, вот два способа, которые я попробовал:
System.Web.UI.Page page = HttpContext.Current.CurrentHandler as System.Web.UI.Page;
System.Web.UI.ScriptManager.RegisterStartupScript(page, page.GetType(), "alert", "alert('You do not have access to this page. You are being redirected')", true);
и
Response.Write("<script type='text/javascript'>alert('You do not have access to this page. You are being redirected');</script>");