בעיה בsession

nimrod1995

New member
בעיה בsession

שלום, בניתי מערכת אשר בודקת האם מה שיש בsession זה למה שיש לי בכתובת. הכל עובד בפעם הראשונה, אך לאחר מכן זה לא עובד [אין שגיאה, פשוט הIF עושה ELSE]. בדקתי האם הערך שבsession בסדר והוא בסדר. הנה הקוד שלי:
if (Session["logina"] == Request.QueryString["galri"]) {​
מה יכולה להיות הסיבה לכך? תודה מראש
 

ברק קרב

New member
טעות בסינטקס

היית צריך לעשות if (Session["logina"].ToString() == Request.QueryString["galri"]) כיוון שסשן מחזיר אובייקט ולא סטרינג, ואתה רוצה להשוות את התוכן.
 

nimrod1995

New member
יש לי שגיאה

תודה, אך אני נתקל בשגיאה:
Object reference not set to an instance of an object. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. Source Error: Line 157: Line 158: Line 159: if (Session["logina"].ToString() == Request.QueryString["galri"]) Line 160: { Line 161: %>​
איך הוכל לתקן את השגיאה? תודה מראש
 

ברק קרב

New member
2 אפשרויות

האחת היא שלא שמתי לב וצריך גם בצד השני את ה TOSTRING, אבל לא נראה לי השניה היא שאחד מהצדדים לא קיים (NULL) ואז אתה צריך לטפל קודם באפשרות שהוא NULL ורק אם הוא לא NULL להפעיל את הבדיקה אם הם שווים.
 

nimrod1995

New member
תודה ,אך עדיין יש לי שגיאה

Compilation Error Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. Compiler Error Message: CS0023: Operator '!' cannot be applied to operand of type 'string' Source Error: Line 157: Line 158: Line 159: if (! Session["logina"].ToString() = null && Session["logina"].ToString() == Request.QueryString["galri"].ToString()) Line 160: {​
אני מוסיף פה עוד הגדרה, אך אני נתקל פה בבעיה (פעם ראשונה שאני משתמש ב!) תודה מראש
 

dino_din

New member
את ה ! תשים לפני השווה

if( a != b) then.... בלי קשר - אני חושב שכדאי לעשות קודם בדיקה נפרדת ל session לבדוק שהוא לא NULL ורק אז לעשות את ההשוואה.
 

itzikbs

New member
ככה:

if ( Session["logina"] != null && Session["logina"].ToString() == Request.QueryString["galri"]) ביי איצקי ב.
 
למעלה