Как я могу перенаправить на страницу с ошибкой , когда сессия заканчивается следующим образом.
Я согласен с этим, если на вашей странице отображается конфиденциальная информация. В противном случае, скажем, пользователь просматривает страницу и, простаивая, вы просто сделали информацию, которую пользователь искал, исчезли. Конечно, у вас есть страница профиля в этом случае, но что, если пользователь просматривал какой-то отчет, требующий времени для загрузки? Затем вы заставите пользователя повторно запустить свой отчет о том, что у него уже есть результаты.
Вы можете использовать событие Session_End в файле Global.asax в качестве предлагаемого Pranay. С помощью AJAX или обычного JavaScript вы можете уведомить пользователя о том, что их сеанс близок к тайм-ауту/истечет время ожидания. Или, наоборот, вы можете подождать, пока исключение тайм-аута сеанса не будет сброшено после того, как пользователь попытается отправить сообщение и включит собственные ошибки в вашем web.config. Если вы по-прежнему настаивают на перенаправлении пользователя на тайм-аут сеанса, используйте это в вашем случае Session_End:
Response.Redirect("myRedirectPage.aspx",true);
Вы хотели бы указать true
в качестве второго параметра, чтобы закончить ответ после перенаправления.
Что касается вашего второго вопроса, есть несколько способов обработки логинов в ASP.NET.Если вы хотите, чтобы заботиться о сантехнике самостоятельно,
- использовать событие Application_BeginRequest в файле Global.asax для проверки ли пользователь регистрируется в (т.е.
Session["cityId"]
ли нуль)
- магазин вашу информацию о сеансе после войдите и используйте
Response.Redirect
до , переведите своего пользователя в профиль .
В противном случае, если вы хотите использовать встроенные функции ASP.NET, см. http://msdn.microsoft.com/en-us/library/ms178329.aspx.
Тогда просто используйте Request.UrlReferrer
, как предложил Шринивас.
Возможно, вам следует разделить это на два отдельных вопроса. – LukeH 2010-11-26 11:29:26