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

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
		%>
	


	<%@ Language=JScript%>
	<% 
	while(i++<100000){ 
		// do some stuff...
		if(!Response.IsClientConnected) Response.End
	}
	%>
	

Response.Expires


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

<%
Response.Expires=0
%> 

הערה:
אם המאפיין נקבע פעמיים באותו הדף, הערך הנמוך יותר הוא זה שייחשב.

Response.ExpiresAbsolute


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

VBScriptJScript

	<%
	Response.ExpiresAbsolute=#May 05,2001 05:30:30#
	%> 
	


	<%@ Language=JScript%>
	<%
	Response.ExpiresAbsolute="07/21/2006"
	%>
	

הערה: אם המאפיין נקבע פעמיים באותו הדף, התאריך הנמוך יותר הוא זה שייחשב.

Response.ContentType


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

Response.Charset


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

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

תגיות: , , , ,

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