שאלה ממש פשוטה בC

nimrod1995

New member
שאלה ממש פשוטה בC

שלום, החלטתי לעבור לC ומכיוון שאני ממש מתחיל נתקעתי בבעיה דיי פשוטה... זאת הבעיה:
Compilation Error Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. Compiler Error Message: CS0118: 'System.Web.HttpRequest.QueryString' is a 'property' but is used like a 'method' Source Error: Line 62: <% Line 63: Line 64: if (Request.QueryString("id") == "") { Line 65: %> Line 66: <asp:AccessDataSource ID="AccessDataSource3" runat="server" DataFile="App_Data/db1.mdb" Source File: c:\nrn\Default.aspx Line: 64​
הקוד כבר בשגיאה... איך לתקן את השגיאה? תודה מראש, נמרוד רותם
 

Justin Angel

New member
קה פרובלמה מואי צ'יקיטה?

לא כותבים קוד ככה בדוט נט. לא רק שלי אישית לא ברור מה ניסית לעשות, אלא גם פשוט אין סינטקס לזה בפריימוורק לכתוב קוד סטייל ASP ב-ASP.Net. ב-ASP.Net אין תמיכה בסינטקס כזה של עיצוב מותנה ובטח שאין תמיכה של העלמת פקדים מהדף בצורה מותנה. תנאים צריכים להיות בקוד #C ולא בקוד ASP.Net בתוך ה-Designer. אם אתה מנסה מהלפעיל את ה-AccessDataSource שלך כאשר אין נתון ב-QueryString אתה צריך להימנע מהלפעיל אותו ולא לנסות להעלים אותו בצורה לא-צורה.
 

Admini

New member
תתפלא, <%%> דווקא עובד

לא בצורה כזו שהוא ישבור פקדי שרת, אבל הוא עובד. להשתמש ב
<%=Func()%>​
ודומיו - יעבוד חלק.
 

Justin Angel

New member
קה פרובלמה מואי צ'יקיטה?

Late Bound Data Expressions - הכוח שמאחורי הרעיון FAQ: הבדל בין =%> לבין #%>
 
Nil ref error

למען האמת, זה עדיין אפשרי. בעיקר על מנת לאפשר לקוד ASP לעבוד, אבל אפשרי. קח מבט באיך FlexWiki ממומש. הייתי צריך לנוח שבוע אחרי שראיתי את הקוד.
 

Admini

New member
אני מדבר על השיטה שמומשה ב-ASP

<%If True=Flase Then%><html><%Else%></html><%End If%>​
מכוער, אבל יעבוד ויתקמפל.
 

thats me1

New member
פשוט מאד:

תסתכל מה כתבת: אם ID שווה למחרוזת ריקה אזי........? לא נתת לו שום דבר לעשות. פתחת סוגריים מסולסלים ולא סגרת. כאן הטעות שלך.
 

nimrod1995

New member
סגרתי וזה משפט if פשוט!

אני רוצה לעשות שאם הID לא יהיה קיים זה יעשה את קוד כלששהו, ואם הוא קיים זה יעשה משהו אחר. איך אני עושה את זה ?
 

men52

New member
בגדול...

בגדול הוא זרק אותך בגלל שב QUERYSTRING אתה צריך להשתמש בסוגריים מרובעות ולא עגולות. מרובעות זה לאינדקסים של מערך ( כמו ה QUERYSTRING). סוגריים עגולות זה למתודות וזה מה שהקומפיילר העיר לך. לגבי מה שאמרו לך קודמיי שלא כותבים בצורה כזאת - זה גם נכון. את הלוגיקה תפריד מה GUI. זה לא ה ASP הרגיל.
 

nimrod1995

New member
אוקי - כשאתה אומר הפרדה, אתה מתכוון

לעמוד עם סיומת CS? ויש מדריך לשימוש בזה? כי אין לי מושג איך משתמשים בזה...
 

men52

New member
עבודה נכונה....

ראשית לא חייב עבודה עם קבצי CS , ניתן להכניס את ה CODE BEHIND גם בתוך אותו קובץ ה ASPX - פשוט להכניס בין תגי ה SCRIPT. תתחיל בלקרוא ספרים על ASPX או TATORIALS , תראה את צורת הכתיבה כלומר איפה נכתב ה GUI ואיפה נכתב ה CODEBEHIND. תבין את זרימת המתודות ואז לא תהיה לך בעיה לכתוב בצורה נכונה , כלומר מה שחשוב זו ההפרדה בניגוד ל CODE SPAGETI של ASP הישן והטוב. לדוגמה כנס ל TATORIAL של W3SCHOOL. בהצלחה
 
למעלה