יום ראשון, 7 ביוני 2015

מתחילים עם Angular.js

טוב, אחרי שברחתי מללמוד  Angular.js הגעתי למסקנה שפשוט חייבים להתחיל. אני מנהל פוסטים לסיכום הלמידה, לכן זו אחריות הקורא בלבד להסתמך על האמור...
אין לי כוח לקרוא באנגלית, אז ברשת בעברית יש שני פוסטים מצוינים להתחיל, וידאו עם הסבר פשוט, והמון פוסטים מתקדמים מאוד


לאחר שייבאנו לפרויקט את הקובץ JS (ששוקל 129KB ...), אפשר להתחיל לעבוד:
<script src="scripts/AngularJS.js"></script>
אגב, במידה ולא נוסיף את הקובץ JS ונתחיל לקמפל - נקבל את השגיאה הבאה:
Uncaught ReferenceError: angular is not defined

דבר ראשון, ניצור את הinjector [כנראה זה המחולל של הקסם], איך? יש כמה אפשרויות:
א. להגדיר אותו בתגית הHTML או בתגית הBODY. 
נתחיל לכתוב ng-app, כל ng מורה לJS שזו פקודה של אנגלר, אם נרצה להיות תקניים אז נכתוב data-ap-app באופן שכזה:
<html data-ng-app="angular">
אפשר לקרוא לקובץ בצורה ידנית.

מיד לאחר שבנינו את הקריאה - נבנה את האיבר בJS:
var angular = ....

בשביל ההדגמה נבנה tamplate שמיועד לשימוש חוזר. שהאנגולר יקרא לו ויבצע הזרקה של הנתונים אל התבנית.


יום חמישי, 21 במאי 2015

הוספת helper לקבצי CSHTML

ראשית נריץ את הפרוייקט, נקבל בכתובת של הדף משהו כזה:
http://localhost:10707/
כדי להוסיף את האפשרות להוסיף HELPER לדף, נכנס לממשק הניהול:
http://localhost:10707/_Admin

לאחר בחירת הסיסמא, וכתיבת הסיסמא בפעם השנייה, נקבל הודעה כזו 
For security reasons your password hash is saved in a file named _Password.config in the /App_Data/Admin/ folder of your website. To fully enable site administration, rename the file to Password.config by removing the underscore (_) character from the file name. If this is the first time you are seeing these instructions and you have not yet created a password, then remove the /App_Data/Admin/_Password.config file. This will remove a previously created password and allow you to create your own password 

שבעצם מספרת לנו שהכל הפיך, וגם אם נשכח את הסיסמא נוכל למחוק את הקובץ שמכיל את הסיסמא מתוך הפרוייקט ולעשות חדשה.

כרגע יתווסף לנו קובץ /App_Data/Admin/_Password.config 


נשנה את שם הקובץ (לחיצה על F2), ונמחק את הקו תחתון. כעת במידה ונכנס לדף בשנית, נכתוב סיסמא, והופ...
נקבל ממשק להוספת קבצי DLL. מתוך תפריט הONLINE נוכל לבחור את החבילה ASP.NET Web Helpers Library

יום חמישי, 8 בינואר 2015

הוספת ערכים למחלקה בלולאת Foreach

נגדיר מחלקה פשוטה:
public master()
    { }

    public int Id { get; set; }
    public string Title { get; set; }
עכשיו נניח אנחנו רוצים ליצור מופע למחלקה ולהכניס ערכים.
פשוט:
master MASTER = new master();
MASTER.Id = 1;
MASTER.Title = "blabla";

במידה וקיבלנו אובייקט אחרnew_MASTER שגם מכיל את המאפיינים ID, Title. נוכל לעשות השוואה בין המופעים, ולעדכן את הערכים.
MASTER.Id = new_MASTER.Id;
MASTER.Title = new_MASTER.Title;

כל זה מקסים, כאשר: 1. יש לי קצת ערכים 2. אני יודע מהם. אך במידה וקיבלתי שתי מחלקות גדולות לא ייתכן לכתוב:
 שורה א שווה לשורה א במופע החדש, שורה ב שווה לשורה ב במופע החדש. וגם במידה ולא ידוע לי המאפיינים של המחלקה, אז מה נכתוב? 
MASTER.??? = ?


בשביל לבצע השמה של מחלקה לתוך מחלקה נשתמש בלולאת foreach שתעבור על כל המחלקה, ותקבל כל שם מאפיין בנפרד, ותבצע השמה לתוך המאפיין בתוך המחלקה הראשית:


    Type type = MASTER.GetType();
    foreach (var item in new_MASTER.GetDynamicMemberNames())
    {
        System.Reflection.PropertyInfo prop = type.GetProperty(item); //name item
        prop.SetValue(MASTER, new_MASTER[item], null); // value item to MASTER
     }