PDA

View Full Version : جلوگیری از باز شدن یک صفحه در ویندو



mehrdad201
شنبه 28 مهر 1386, 15:53 عصر
سلام

میخوام کاری کنم که وقتی یه یوزر صفحه مربوط به اطلاعاتش رو توی صفحه بروزر باز کرده دیگه نتونه توی یه تب دیگه همین صفحه رو باز کنه.

آیا راهی برای جلوگیری از این کار هست ؟!؟!؟!؟!

ClaimAlireza
شنبه 28 مهر 1386, 16:14 عصر
میتونی از یه session استفاده کنی. وقتی کسی وارد اون صفحه میشه مقدار session رو بررسی کنی اگه مثلا session وجود نداره مقدار اونو ff بزاری بعد از خروج کاربر هم session رو پاک کنی. حالا اگه کاربری وارد شد و مقدار session هنوز ff بود صفحه رو به جای دیگه redirect کنی.

mehrdad201
شنبه 28 مهر 1386, 19:41 عصر
یه مشکل هست

اگه کاربر صفحه رو رفرش کنه چی میشه ؟؟؟؟؟؟؟؟؟؟؟؟


چون سشن مقدار داره ریدایرکت میشه به یه صفحه دیگه
درسته ؟؟؟؟؟؟؟؟

ClaimAlireza
شنبه 28 مهر 1386, 21:28 عصر
این مشکل رو هم میتونی با !ispostback مرتفع کنی...

موفق باشی....

mehrdad201
یک شنبه 29 مهر 1386, 02:13 صبح
میتونی به من بگید خروج از صفحه فعلی رویدادش چیه !؟؟؟!!

وقتی که طرف از این صفحه میره یه صفحه دیگه من کجا باید سشن رو پاک کنم.

ClaimAlireza
یک شنبه 29 مهر 1386, 10:22 صبح
توی روال session_End فایل global.asax....

SalarSoft
یک شنبه 29 مهر 1386, 18:48 عصر
توی روال session_End فایل global.asax....
روالی برای هنگامی که پنجره مرور گر بسته میشه یا به صفحه دیگه می ره برای ASP.NET وجود نداره

تنها تشخیصی که می تونی داشته باشه رویداد onunload است. برای اجرای دستوراتت توی ASP.NET هم از AJAX استفاده بکنی

Aidin
یک شنبه 29 مهر 1386, 18:51 عصر
اگه اون صفحه توی سایت خودت باشه باید از متد Page_Unload استفاده کنی ولی اگه کاربر به یک سایت دیگه بره باید از Session_End استفاده کنی (البته نیازی هم نیست به این دومی چون دیگه کاربر توی سایت شما نیست)
Session_End وقتی اتفاق میفته که کابر کلا از سایت بره بیرون ولی Page_Unload وقتی اتفاق میفته که کاربر از صفحه میره بیرون.

mehrdad201
پنج شنبه 03 آبان 1386, 16:29 عصر
دوست عزیز

یه مثال در مورد این page_Unload برای من میزنید.

من موفق نشدم ازش استفاده کنم. این تابع رو در صفحه قرار دادم اما هر موقع صفحه لود میشه این تابع خودبخود فراخوانی میشه. (نه موقع خارج شدن از صفحه)

لطفا یکی ما رو راهنمایی کنه.

ممنون

SalarSoft
پنج شنبه 03 آبان 1386, 20:16 عصر
اگه اون صفحه توی سایت خودت باشه باید از متد Page_Unload استفاده کنی ولی اگه کاربر به یک سایت دیگه بره باید از Session_End استفاده کنی (البته نیازی هم نیست به این دومی چون دیگه کاربر توی سایت شما نیست)

تنها تشخیصی که می تونی داشته باشه رویداد onunload است. برای اجرای دستوراتت توی ASP.NET هم از AJAX استفاده بکنی
منظورم از onunload مربوط به تگ body بود که با استفاده از javascript باید اقدام به ارسال اطلاعات به سایت کنید:


<body onunload="pageUnloaded()">



<script type="text/javascript" language="javascript">
function pageUnloaded()
{
// دستورات فراخوانی تابع آژاکس رو اینجا بنویس
}
</script>

</body>

Aidin
جمعه 04 آبان 1386, 05:06 صبح
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";
}
}