سلام
میخوام کاری کنم که وقتی یه یوزر صفحه مربوط به اطلاعاتش رو توی صفحه بروزر باز کرده دیگه نتونه توی یه تب دیگه همین صفحه رو باز کنه.
آیا راهی برای جلوگیری از این کار هست ؟!؟!؟!؟!
سلام
میخوام کاری کنم که وقتی یه یوزر صفحه مربوط به اطلاعاتش رو توی صفحه بروزر باز کرده دیگه نتونه توی یه تب دیگه همین صفحه رو باز کنه.
آیا راهی برای جلوگیری از این کار هست ؟!؟!؟!؟!
میتونی از یه session استفاده کنی. وقتی کسی وارد اون صفحه میشه مقدار session رو بررسی کنی اگه مثلا session وجود نداره مقدار اونو ff بزاری بعد از خروج کاربر هم session رو پاک کنی. حالا اگه کاربری وارد شد و مقدار session هنوز ff بود صفحه رو به جای دیگه redirect کنی.
یه مشکل هست
اگه کاربر صفحه رو رفرش کنه چی میشه ؟؟؟؟؟؟؟؟؟؟؟؟
چون سشن مقدار داره ریدایرکت میشه به یه صفحه دیگه
درسته ؟؟؟؟؟؟؟؟
این مشکل رو هم میتونی با !ispostback مرتفع کنی...
موفق باشی....
میتونی به من بگید خروج از صفحه فعلی رویدادش چیه !؟؟؟!!
وقتی که طرف از این صفحه میره یه صفحه دیگه من کجا باید سشن رو پاک کنم.
توی روال session_End فایل global.asax....
روالی برای هنگامی که پنجره مرور گر بسته میشه یا به صفحه دیگه می ره برای ASP.NET وجود ندارهتوی روال session_End فایل global.asax....
تنها تشخیصی که می تونی داشته باشه رویداد onunload است. برای اجرای دستوراتت توی ASP.NET هم از AJAX استفاده بکنی
اگه اون صفحه توی سایت خودت باشه باید از متد Page_Unload استفاده کنی ولی اگه کاربر به یک سایت دیگه بره باید از Session_End استفاده کنی (البته نیازی هم نیست به این دومی چون دیگه کاربر توی سایت شما نیست)
Session_End وقتی اتفاق میفته که کابر کلا از سایت بره بیرون ولی Page_Unload وقتی اتفاق میفته که کاربر از صفحه میره بیرون.
دوست عزیز
یه مثال در مورد این page_Unload برای من میزنید.
من موفق نشدم ازش استفاده کنم. این تابع رو در صفحه قرار دادم اما هر موقع صفحه لود میشه این تابع خودبخود فراخوانی میشه. (نه موقع خارج شدن از صفحه)
لطفا یکی ما رو راهنمایی کنه.
ممنون
اگه اون صفحه توی سایت خودت باشه باید از متد Page_Unload استفاده کنی ولی اگه کاربر به یک سایت دیگه بره باید از Session_End استفاده کنی (البته نیازی هم نیست به این دومی چون دیگه کاربر توی سایت شما نیست)منظورم از onunload مربوط به تگ body بود که با استفاده از javascript باید اقدام به ارسال اطلاعات به سایت کنید:تنها تشخیصی که می تونی داشته باشه رویداد onunload است. برای اجرای دستوراتت توی ASP.NET هم از AJAX استفاده بکنی
<body onunload="pageUnloaded()">
<script type="text/javascript" language="javascript">
function pageUnloaded()
{
// دستورات فراخوانی تابع آژاکس رو اینجا بنویس
}
</script>
</body>
protected void Page_Load(object sender, EventArgs e)
{
//Session["A"] = "A";
}
protected void Page_Unload(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Session["A"] = "B";
}
}
آخرین ویرایش به وسیله Behrouz_Rad : جمعه 04 آبان 1386 در 06:21 صبح