الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة browser back مع الsession

بدأه ابو خلف في 6 مايو 2010 · 5 رد · 749 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اواجة مشكلة مع logout في asp.net حيث انني جعلت المستخدم يضغط بتون خرووج بعدها يحوله الى الصفحة الرئيسية ...لكن المشكلة اذا استخدمت بتون الى الخلف في المتصفح يرجع الى عضوية المستخدم !!!!

هذا كود الخروج


Session.RemoveAll();
Response.Redirect("Default.aspx");

جربت الجافا سكرت لتعطيل بتون الباك لكن ما ينفع مع متصفحات ثانية !!!

اتمنى اجد حل حتى لا يعود المستخدم الى عضوية عن طريقة زر خلف

#2

افرغ متغير السيشن

Session["name"] = "";

In bad state

#3

حسنا هنالك عدة طرق ولكن اسهلها هو التحقق من وجود قيمة في (session) عند بداية كل صفحة بهذه الطريقة سوف تضمن حتى عند الظغط على زر العود فسوف يتم التحقق من القيمة إذا كانت فارغة ام لا

بالتوفيق ان شاء الله

#4
AsJsGle كتب:

افرغ متغير السيشن

Session["name"] = "";

جربت افراخ السيشن لكن الحال ما تغير !!!

اذا ضغط على الباك في البراوزر يرجعني للصفحة

#5
Xhack كتب:

حسنا هنالك عدة طرق ولكن اسهلها هو التحقق من وجود قيمة في (session) عند بداية كل صفحة بهذه الطريقة سوف تضمن حتى عند الظغط على زر العود فسوف يتم التحقق من القيمة إذا كانت فارغة ام لا

بالتوفيق ان شاء الله

اخوي اللي قمت به هو في ملف Global.asax وهو ملف لتمرير قيمة ديفولت للسيشن

    void Session_Start(object sender, EventArgs e) 
    {
        // Code that runs when a new session is started
        Session["us"]="0";
        Session["pass"] = "0";
    }

ووضعت في الصفحة التالية التى يعرض بيانات السيشن ...في اللود

 protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (Session["us"].Equals("0") || Session["pass"].Equals("0"))
            {
                Response.Redirect("Default.aspx");
            }
            else
            {

                tb12.Text = Session["us"].ToString();
                tb13.Text = Session["pass"].ToString();

            }
        }
        catch 
        {
            Response.Redirect("Default.aspx");
        }
    }

ووضعت في بتون logout

        tb12.Text = "";
        tb13.Text = "";
        Session["us"] = "0";
        Session["pass"] = "0";
        Session.RemoveAll();
        Response.Redirect("Default.aspx");

لكن مع هذا لم يحل المشكلة

#6

تم حل المشلكة وهي بكووود بسيط جدا :)

وهو وضع بتون logout يعيد لاى نفس صفحة عرض اسم المستخدم ...بدلا من العودة الى الصفحة الرئيسية :)

        tb12.Text = "";
        tb13.Text = "";
        Session["us"] = "0";
        Session["pass"] = "0";
        Session.RemoveAll();
        Response.Redirect("Lougout.aspx");

مواضيع مشابهة