DataAnnotations Number error message

יום ראשון, אפריל 19, 2015

אחד הדברים ש – asp.net mvc מביאה איתה, זה היכולת שלנו ליצור אלמנטי UI בעזרת helpers, אחד היתרונות של שימוש בשיטה זו, היא שהוא מייצר עבורנו הגדרות עבור jQuery Validation בצורה אוטומטית, לדוגמה – בהניתן הגדרת המודל הבאה: Code Snippet public class Person{        public int Age { get; set; }            public string Email { get; set; }} נוכל לכתוב html שיצור עבורנו אלמנטים, וגם ידאג להגדרת הולידציות Code Snippet @model WebApplication8.Controllers.Person<!DOCTYPE html><html><head>    <link href="~/Scripts/Site.css" rel="stylesheet" />    <link href="~/Scripts/bootstrap.css" rel="stylesheet" />        <script src="~/Scripts/jquery-1.10.2.js"></script>    <script src="~/Scripts/jquery.validate.js"></script>    <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>    <title>Index</title></head><body...
תגיות: , ,
אין תגובות

Authentication and Ajax

יום חמישי, ינואר 22, 2015

לקוח תיאר לי את הבעייה הבאה, “יש לי אתר שעובד ב – forms authentication, וה – timeout מוגדר עשרים דקות (ברירת המחדל היא 30), כמובן שבצורה אוטומטית ברגע שהמשתמש לוחץ על לחצן הפונה לשרת, לאחר שהזמן תם, הוא מועבר לדף הלוגין. לאחרונה עברנו לעבודה עם ajax, תוך שימוש ב – angular ו – singal page application, מה שקורה שברגע שהמשתמש לוחץ על לחצן (שעכשיו עושה פניית ajax) במידה שעברו ה – 20 דקות, התשובה מהשרת היא דף ה – html של הלוגין – אבל המשתמש לא רואה כלום, מכיוון שלא חזרה תשובת אין הרשאות לדפדפן” הבעייה שלו היא די...
תגיות: , , , ,
אין תגובות

ג’יבריש בשם קובץ בהורדה מ – azure באתר MVC

יום שלישי, יולי 22, 2014

  היה לי את הקוד הבא, אשר מוריד קובץ PDF בפרוייקט MVC Code Snippet public ActionResult Pdf(int id, DateTime date){    var res = shuttlesWebService.Pdf(id, date);    string fileName = res.Name;    Response.AppendHeader("Content-Disposition",        string.Format("attachment; filename={0} {1}.pdf", fileName, res.Date.ToString("dd/MM/yyyy")));    return File(res.File, "application/pdf"); ;}   זה עבד נהדר, עד שעלה לענן – ברגע שעלה ל – windows azure, שם הקובץ ירד בג’יבריש. הפיתרון היה פשוט מאוד. (שלושת השורות המודגשות) Code Snippet public ActionResult Pdf(int id, DateTime date){    var res = shuttlesWebService.Pdf(id, date);    string fileName = res.Name;    Response.HeaderEncoding = Encoding.GetEncoding("windows-1255");    string filename = res.Name;    filename = HttpUtility.UrlPathEncode(filename);    Response.AppendHeader("Content-Disposition",        string.Format("attachment; filename={0} {1}.pdf",...
תגיות: , ,
תגובה אחת

Bundle and jQuery or bootstrap images

יום שני, יוני 9, 2014

מנגנון ה - bundling and optimization של asp.net הוא מנגנון נהדר שמגיע לפתור לנו מספר בעיות. ספריות (כמו jQuery, angular ואחרים) מגיעות בדרך כלל עם קובץ לזמן פיתוח וקובץ min שמכיל את כל התוכן בצורה מקוצרת (כל הטקסט בשורה אחת, שמות מקוצרים של משתנים וכו’), נרצה לוודא שבזמן פיתוח נשתמש בקובץ הרגיל ובזמן שהמשתמש גולש נשתמש בקובץ המכווץ. עבור הקוד שאנחנו כותבים נרצה גם כן מנגנון שיודע לייצר בזמן שהמתשמש גולש קובץ “min” עם המידע. כל קובץ js או css הינו request נפרד לשרת, ניתן לאחד מספר קבצים לבקשה אחת מהשרת – כך שטעינת העמוד תהיה...
תגיות: , ,
אין תגובות

שליחת אובייקטים עם תתי אובייקטים ב – ajax לשרת

יום שבת, מרץ 22, 2014

כדי לשלוח אובייקט מצד לקוח לצד שרת ב – ajax, בעזרת jQuery זה די פשוט, בהנחה שיש לנו אובייקט בשם Person בצד השרת ו – action שמקבל אותו – הקוד ייראה ככה: Code Snippet public class Person{    public int Id { get; set; }    public string Name { get; set; }    public int Age { get; set; }} Code Snippet public ActionResult Update(Person model){} נוכל בצד לקוח לפנות בעזרת jQuery לשרת ולשלוח את המידע כך: Code Snippet var obj = {    id: 1,    name: 'shlomo',    age:29};$.post('/home/save', obj);   אבל במידה שהאוביקט בצד שרת...
תגיות: , , , , , ,
תגובה אחת

הפיתוח בעולם החדש

יום חמישי, נובמבר 21, 2013

לאחרונה הרציתי במרכז השתלמויות של בית יעקב בירושלים, על הפיתוח בעולם המתחדש ומה הכיוון שאילו אנחנו הולכים בעולם ה - WEB וה -Windows (בהתמקדות בטכנולוגיות מייקרוסופט) מצורפת המצגת. (מומלץ להוריד - הצפייה ב - google docs הופכת את העברית אנגלית) אורך ההרצאה כשעה וחצי, אולי בהמשך אדאג להעלות הסרטה שלה, בכל מקרה לבקשת משתתפות אני מעלה כרגע את המצגת לבלוג. להלן רשימת הנושאים: HTML5 קצת היסטוריה על עולם ה – WEB ותהליך התקדמות התקן. מדוע ועל מה יצא הקצף על HTML4. מה הבשורה ומה מיוחד ב – HTML5. ממה מורכב HTML5. האם אפשר כבר היום לפתח עם התקן החדש (רמז – דפדפנים). HTML6, HTML7 ??? ASP.NET MVC  היסטוריית טכנולוגיות פיתוח אתרים בעולם...
תגובה אחת

MVC Validators

יום ראשון, נובמבר 17, 2013

אחת התכונות של MVC, היא האפשרות להגדיר על המודל האם הוא Valid או לא – זה נעשה בעזרת Attributes שונים על המאפיינים, לדוגמא. Code Snippet public class Person{        public string Name { get; set; }            public string Email { get; set; }} כעת במידה ובצד השרת נקבל אובייקט Person נוכל לשאול האם המודל תקין, כך:   Code Snippet public ActionResult Index(Person person){    if (ModelState.IsValid)    {        //....    }    return View();} מה שעוד יותר נחמד, שבמידה ונגדיר את ה – View שלנו בעזרת model של MVC, הוא ייצור עבורנו jquery validators מתאימים,...
תגיות: , , ,
תגובה אחת

Using HTML5 FileApi to show images from byte array

יום שני, יוני 24, 2013

הרבה מאוד פעמים יהיה לנו קוד שפונה ב – ajax לשרת מקבל מידע כלשהו, וחלק מהמידע מחזיק url לתמונה כלשהו שנטען דינמית,. קוד מהסוג הזה יכול להיראות כך, המודל שנחזיר מהשרת. Code Snippet public class DataModel {     public int Id { get; set; }...
תגיות: , , , , , ,
אין תגובות

AuthorizeAttribute

יום שבת, יוני 15, 2013

אחד מהדרכים לנהל הרשאות באתר היא בעזרת – כל Controller או Action שנשים עליה את ה – attribute הזה יאפשר לגלוש אליו רק לאחר לוגין. במידה ונרצה לנהל הרשאות מורכבות יותר מאשר האם המשתמש עשה לוגין או לא, ניתן כמובן להשתמש עם מנגנון ה – Roles של – asp.net, במידה ואתם לא אוהבים את זה (כמו הרבה אחרים) ניתן לרשת מה – attribute הנ”ל וטיפה לשנות אותו. קוד הכניסה יראה מן הסתם כך: ...
אין תגובות

קבלת הנתיב המלא באפליקציית MVC וב – WebForms

יום ראשון, מרץ 10, 2013

לפעמים צריך לקבל נתיב מלא לכתובת אינטרנט, לדוגמא כדי לשלוח במייל. באפליקציית MVC הקוד יראה כך: Code Snippet public static class UrlHelperExtension {     public static string AbsolutePath(this UrlHelper url, string virtualPath)     { ...
תגיות: , , ,
אין תגובות