שאלה לגבי databind

webby123

New member
שאלה לגבי databind

אני מתחיל בדוט נט ולא מובן לי הקטע של הDATABIND. אני עובד עם vwd, במידה ואני גורר אובייקט של detailsView וכמובן מגדיר לו את הDATASOURCE אז ברגע שהעמוד עולה הDETAILSVIEW מציג את הנתונים, עכשיו בספר שאני לומד איתו הם מבצעים DATABIND בכל page_load וברגע שאני מוריד את הפקודה הזו השורות הבאות כבר נותנות שגיאה:
Dim row1 As System.Data.DataRowView row1 = CType(Questions_DV.DataItem, System.Data.DataRowView) Me.lbl.Text = row1("Question_Id").ToString()​
והשגיאה היא :
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. Source Error: Line 8: Dim row1 As System.Data.DataRowView Line 9: row1 = CType(Questions_DV.DataItem, System.Data.DataRowView) Line 10: Me.lbl.Text = row1("Question_Id").ToString()​
שורה 10 , כאילו העמוד לא מכיר את Questions_DV, רק שאני מוסיף DATABIND בכל עמוד זה עובד.
 

dino_din

New member
ה DATASOURCE

מגדיר לפקד מהיכן לקחת את הנתונים אבל עדיין לא מבצע את הפעולה האמיתית של הבאת הנתונים והצגתם בפקד. הפקודה DATABIND() היא הפקודה שבעצם אומרת לפקד לקחת עכשיו את הנתונים מה DATASOURCE. אם יש לך פקד שמראה נתונים מסוימים מטבלה ועכשיו ביצעת איזה שהוא שינוי בטבלה, השינוי לא ישתקף בפקד. רק כשתעשה BIND הפקד יפנה שוב לנתונים (דרך ה DATASOURCE) ויציג אותם באמת.
 
למעלה