וובמאסטר - תיכנות ובניית אתרים

מדריך ASP - האובייקט Response

entry/‏ 6 דצמבר, 2003
F+
F-
Response
אוספים (Collections)תכונות (Properties)שיטות (Methods)
Cookies (נדון בפרק נפרד)BufferWrite
 CharsetBinaryWrite
 ContentTypeClear
 ExpiresEnd
 ExpiresAbsoluteFlush
 IsClientConnectedRedirect

Response.Write

כדי להציג את הפלט מקוד ה-ASP, באפשרותינו להשתמש בשתי שיטות:

<%=StrValue%>
<%Response.Write(strValue)%>
בשתי הדרכים, התוצאה תהיה זהה, הערך של strValue יוצג על הדף שיקבל המשתמש.

Response.Buffer

לרוב, התוצאה של עיבוד דף ה-ASP נשלחת אל הלקוח בתזמון התלוי בשרת. בקבצים שזמן העיבוד שלהם ארוך, הלקוח עלול לקבל תחושה 1שהשרת איו מגיב. כדי לקבל שליטה על הצגת התוצאה, נגדיר בראש הדף את תכונת ה-Buffer כ- true.

<%Response.Buffer = true%> 

Flush, Clear, End

שלושת השיטות האלו עוזרות לנו לשלוט על פעולת ה-buffer.
Response.Flush אומר לשרת שעליו לשלוח את הפלט שעובד עד כה עכשיו.
Response.Clear מנקה את ה-buffer, וכל מה שהיה בו לעולם לא יגיע ללקוח.
Response.End מסיים את עיבוד הסקריפט באותה נקודה.
הערה: השימוש ב-Response.Clear ו- Response.Flush ייתן שגיאה עם ה-buffer לא נקבע ל-true.

דוגמא

Response.Redirect

משמש כדי להעביר את הלקוח מהדף הנוכחי לדף חדש. יש לזכור כי שימוש בשיטה זו לאחר שכבר הוצג פלט על הדף (ב-body), תגרום לשגיאה. זאת מכיוון שבכל בקשת דף משרת, הוא שולח לנו לפני הכל גם כמה שורות הנקראות HTTP Headers ברגע ששורות אלו נכתבו בדף, אין אנו יכולים להשתמש בשיטה.

בדוגמא הבאה ישנו טופס, שבשליחתו מעביר את המשתמש באמצעות Response.Redirect לדף המתאים לבחירה שהוא ביצע בטופס.

דוגמא

Response.IsClientConnected

כאשר ישנו קובץ שזמן העיבוד שלו ארוך, לדוגמאת קובץ העובד מול בסיס נתונים, לפעמים אנו רוצים לדעת האם המשתמש עדיין מחובר, ולהמשיך או להפסיק את עיבוד הקובץ. זהו מאפיין בוליאני, המחזיר true או false.

VBScriptJScript
		<% 
		Do while i<100000 
			' do some stuff...
			If Not Response.IsClientConnected Then
				Response.End
			End If
		Loop
		%>
	

Response.Expires

קובע כמה זמן (בדקות) הדף ישאר בזכרון המטמון של הלקוח. אם הלקוח חוזר לדף, והזמן שהוגדר עדיין לא עבר, הדף ייטען מהזכרון, אך עם הזמן עבר, השרת יעבד שוב את הדף. כדי להגדיור שדף לעולם לא יטען מזכרון המטמון, נכתוב בראש הדף:

<%
Response.Expires=0
%> 
הערה: אם המאפיין נקבע פעמיים באותו הדף, הערך הנמוך יותר הוא זה שייחשב.

Response.ExpiresAbsolute

מאפשר לנו להגדיר את התאריך המדוייק בו יפוג תוקפו של הדף בזכרון המטמון.

VBScriptJScript
	<%
	Response.ExpiresAbsolute=#May 05,2001 05:30:30#
	%> 
	
הערה: אם המאפיין נקבע פעמיים באותו הדף, התאריך הנמוך יותר הוא זה שייחשב.

Response.ContentType

מחרוזת המגדירה את סוג התוכן של האובייקט. ברירת המחדל היא "text/html", סוגים נפוצים אחרים: "image/gif", "image/jpeg", "text/plain".

Response.Charset

קובע את הקידוד של האובייקט.

<%
Response.Charset="ISO8859-1"
%> 

entry

סטודיו לבניית אתרים שהוקם בינואר 2005
אתר: http://www.entry.co.il
תגיות: ASP‏  /  מדריך‏  /  Response‏  /  Redirect‏  /  ContentType‏  

תגובות בפייסבוק

תגובות למאמר



עוד במדריך

תגיות פופולאריות

X
הצטרף לעמוד שלנו בפייסבוק להישאר מעודכן!
וובמאסטר © כל הזכויות שמורות