עמוד ראשי » זירת השאלות » צעדים ראשונים בתכנות asp.nrt478צפיות11תשובותצעדים ראשונים בתכנות asp.nrt זהר פלד, 10 באפריל, 2005לא שאני כל כך אוהב לקפוץ למים בלי גלגל הצלה, או לפחות ספר,אבל אין לי כל כך ברירה…והשאלהתגיות: פורום צד שרת
11 תשובות
סליחה שאני לא עולה על השאלה
אבל מה רע בטפסים רגילים של HTML ? למה להשתמש בטפסים של צד שרת :-/.
ו…
אתה יכול להתחיל גם מהמדריך הזה
אם תשאל אותי,
אני מעדיף טפסים רגילים, לפחות כרגע…
אבל מה לעשות שהבוס חושב אחרת?
בכל אופן כבר מצאתי את התשובה, והיא כמובן שאי אפשר לשלוח טופס שיש לו runat=server לדף אחר….
מוזר קצת ה net. הזה…
יש לך אפשרות לעשות זאת בצורה עקיפה.
בפונקציה של button_click תקח את המשתנה שאתה צריך…
ותעשה:
Response.Redirect "page.aspx?num=" & text1.text &
ככה אתה יכול לשלוח את המשתנים שלך לדף אחר…
כן… הטופס ישלח לדף שהוא מופיע בו,
ורק אחרי הטיפול בקלט נעבור לדף הבא…
נו, שוין…
אפשר לעשות זאת בעבודה עם צד שרת:
<html>
<head>
</head>
<body>
<form id="form1" runat="server">
<!– Insert content here –>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
<script language="JavaScript">
<!–
var formAction = "page.aspx";
var isMicrosoft = (String(navigator.userAgent).indexOf("MSIE") != -1);
if (isMicrosoft)
{
document.form1.setAttribute("action", formAction);
} else {
document["form1"].action = formAction;
}
// –>
</script>
</form>
</body>
</html>
וחשוב מאוד להגדיר ID לטופס ASP.NET
לדעתי למרות כל התלאים האלה חייבת
להיות דרך, למרות שזה דיי הגיוני כי ASP.net "תומכת" בריצות לשרת וחזרה ללקוח למרות שלא חייבים…
מממ…

כמדומני Response.Transfer יהיה כאן יותר יעיל
מעבירים את תפקיד העיבוד לקובץ אחר
אפשר, אבל לא בטופס שמוגדר לו
runat=server….
אפשר (ולרוב אפילו מומלץ) להשתמש בטפסים "רגילים"…
לדעתי כל הרעיון שהשרת יעשה את
העבודה של הלקוח הוא אבסורד אחד גדול