Server.Transfer or Response.Redirect

מדי פעם אני נשאל על ידי מפתחים על ההבדלים שבין שתי שיטות הקריאה לדף אחד מדף אחר: Response.Redirect ו - Server.Transfer. במדריך קצר זה אבהיר את ההבדלים בין שתי פקודות אלו וכן מתי כדאי להשתמש בכל אחת מהן.

דוגמה לפקודת Response.Redirect:

Response.Redirect("http://www.YourDomain.co.il")

Redirect תשמש אותנו לכל סוגי הכתובות, גם לאלה שמחוץ לדומיין שלנו וגם לאלה שבתוך הדומיין שלנו. אולם, אם ברצוננו להעביר State איננו יכולים לעשות זאת באמצעות פקודה זו אלא יהיה עלינו להשתמש ב - Cookies או ב - Query string או ב - Session Variables וכדומה.

לעומת זאת, באמצעות הפקודה Server.Transfer ביכולתנו לשמור על ה - State של הדף הקודם ובכך להגיע לכל משתנה על דף זה. Server.Transfer היא פקודה החוסכת במספר הפעולות של השרת ומבחינה זו יש לה עדיפות על פני Response.Redirect. הבעיה היחידה עם פקודה זו היא שלא ניתן לקרוא באמצעותה לדפים מחוץ לדומיין, אלא רק לאחד מן הדפים בתוך הדומיין.

דוגמה לפקודת Server.Transfer:

Server.Transfer("http://www.YourDomain.co.il", True)

משתנה True גורם לשמירת מצב הדף הקודם ומאפשר למתכנת לגשת למשתנים וערכים בדף הקודם. בגלל תכונה זו Server.Transfer מומלץ בהרבה מאוד אתרים ועל ידי לא מעט מפתחים לעבודה עם יישומים דמויי Wizards אשר בהם מועברים משתנים מחלון לחלון.


 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש