aspx "יורש" מ aspx.cs ?!

aspx "יורש" מ aspx.cs ?!

בזכות ההפרדה בין העיצוב לקוד צד השרת, יש לי קובץ aspx בוא אני כותב html טהור + פקדי :asp לעצוב ויזואליות ה WebForm. בנוסף, יש לי את קובץ ה aspx.cs שבו אני כותב את קוד צד השרת. כל WebForm יורש מ System.Web.UI.Page וכל הקוד נכתב תחת ה Class הזה. עד פה הכל מובן
כשאני מסתכל בראש קובץ ה aspx, אזי בתוך תג ה Page@ יש מאפיין שנקרא Inherits שערכו הוא ה Namespace שלי (ששמו הוא כשם הפרוייקט, ובתוכו נמצאים כל המחלקות של כל ה WebForms שלי) ולאחר ה Namespace יש את שם ה WebForm. מה הכוונה במאפיין הזה ? מה הוא קובע ?
 
ברמה העקרונית כן

כשאתה מוסיף כפתור ל-aspx אתה מקבל הגדרה (או מגדיר ידנית) את המשתנה של הכפתור כדי שצוכל להשתמש בו, והאתחול מתבצע ע"י ה-aspx. כעיקרון, פונקציות שתכתוב בקובץ ה-cs יהיו "זמינות" ב-aspx אבל זה bad design...
 
אני אוהב חתולים ../images/Emo13.gif יש לי שאלה :

1. האם הגדרת הכפתור (למשל) מתווספת אוטומטית ל aspx.cs רק כאשר זורקים את הכפתור על העמוד ב Design ? או שאפשר לקבוע שהוא יוגדר אוטומטית גם אם עובדים ללא ה Design, אלא וכתבים את התגיות ישירות לתוך כותב ה aspx ידנית ? 2. מה הכוונה "האתחול מתבצע ע"י ה aspx ? הקצאת הזכרון ? 3. איך אני יכול לקרוא לפונקצית aspx.cs מתוך aspx ? 4. ועדיין לא הבנתי את השאלה המקורית
מה מטרת Inherits בראש עמוד ה aspx ?
תודה
 

nattygur

New member
מהסוף להתחלה

השימוש ב Atribute בשם Inherits ב Directive בשם Page נועד בכדי להגדיר מי המחלקה בפרויקט אשר מכילה את הארועים אשר הוגדרו כעבור הדף הנוכחי. דף יכול להיות מורכב משני חלקים הראשון ההגדרות הויזואליות והחלק השני היא מחלקה אשר תיקרא בזמן הריצה ובה מימוש של אירועים אשר נכתבו עבור פקדים והדף עצמו. בקיצור זהו מידע שיסיע ל CLR למצוא את המחלקה שמממשת את האירועים.CodeBehind מכיל מידע אודות הקובץ הפיזי אשר בו נמצא הקוד של המחלקה. מידע זה יותר בשימוש סביבת הפיתוח. אם תגדיר פונקציה Public במחלקה תוכל להתיחס אליה ע"י שימוש בבלוק של קוד :
<%@ MyFunction() %> ואני אישית לא רואה בזה שום פסול. כן, קוד מתווסף אוטומטית רק עם עובדים עם עורך ויזואלי. אם עובדים עם HTML ומוסיפים אוביקט מסוג צד-שרת לא יתוסף למחלקה של הקוד Member של האוביקט. רק מעבר לעורך הויזואלי תוסיף את הקוד או הידיים שלך. זה גם מאוד הגיוני משום שעבודה ב html אמורה לעסוק בפאן הוויזואלי של האתר ואין לה קשר למחלקה הממשת את הקוד (אין צורך להוסיף לחינם members).​
 
תודה רבה ! הכל מובן, פרט למשהו

קטן
עדיין לא הבנתי למה מתייחס ה Buzz Word הנקרא Code Behind? האם להפרדה בין העיצוב הויזואלי (aspx) לבין קוד צד השרת (aspx.cs) ? שוב תודה
 
למעלה