שלח תשובה

זירת השאלות

1382
צפיות
1
תשובות

mvc razor

,‏ 29 במרץ, 2015

שילבתי קוד c# עם קוד javascript בפונקצייה.
ורק בריצה ראשונה מתבצע קוד ה c#
הפונקצייה בקוד javascript נקראת בשאר הפעמים אך מדלגת על הc#.

1 תשובות

  1. Roi Trigerman הגיב:

    אתה צריך להבין את סדר הפעולות.
    ה-controller שלך "מחזיר" view (מה שבעצם קורה זה שהוא מחזיר את התוצאה של הפונקציה view() שלוקחת את קובץ ה-cshtml (שהוא ה-view), מפענחת את כל מה שכתוב בו, ומחזירה עמוד html שנשלח ל-client.
    הפענוח שהפונקציה עושה הוא הרצה של קוד ה-C# (לולאות ודברים נוספים), והטמעה של התוצאות של כל אותן שורות קוד, כ- html סטטי.

    קוד ה-C# לא עובר לצד ה-client ולדפדן של שלקוח אין יכולת לפענח קוד כזה בכל מקרה.
    אם שילבת בתוך פונקציית javascript קוד C#, בעמוד שמגיע לדפדן מה שנשאר זה פונקציית javascript עם התוצאה הסופית של הפעלת קוד ה-C# בשרת.

    ***

    אני לא יודע למה רצית לשלב קוד C#, אבל אם זה מהסיבה שיותר נוח לך לכתוב ב-C#, למרות שניתן לבצע את אותן פעולות ב-javascript, הפתרון הוא באמת לבצע את זה ב-javascript.
    אם דרוש מידע מהשרת לצורך ביצוע הפעולות, תצטרך לבצע פניות ajax לפונקציות בשרת, לקבל את המידע שמוחזר מהן, ולהמשיך לעבוד ב-javascript.

    מקווה שההסבר היה ברור 🙂

שלח תשובה