Resources (resx) in asp.net mvc 3

יום רביעי, ספטמבר 12, 2012

הרבה פעמים נצטרך לעבוד עם קבצי resx באפליקציות asp.net mvc כדי לתמוך בשפות, בפוסט זה נראה כיצד ניתן לעבוד עם קבצים אלו בצורה בסיסית. ניתן להוריד את הדוגמא מכאן. ראשית אני מעדיף לייצר תיקייה לכל View עם הטקסטים שלה, ולכן מבנה הפרוייקט יראה בדרך כלל כך:     חשוב לזכור לשנות את ההגדרות של ה – resx שיהיה מוכר בכל האפליקציה בעזרת ההגדרה של Public   כעת...
אין תגובות

The length of the string exceeds the value set on the maxJsonLength property

יום רביעי, יולי 11, 2012

קבלתי שאלה במייל אודות פנייה ב – ajax לשרת (web method) שלוקלית הכול עובד אבל בשרת משום מה זה לא עובד/ אחרי קצת דיבגינג של שואל השאלה, התברר שההבדל בין השרת ללוקלי, הוא בכמות המידע החוזר, ברגע שהוא הגיע למסקנה הזו, נזכרתי שיש מאפיין שמגדיר מה יהיה הגודל המקסימלי של ה – JavaScriptSerializer המאפיין נקרא maxJsonLength. כדי להגדיר את המאפיין עבור asp.net ajax, ניתן להגדיר בקונפיג את המקטע הבא: <system.web.extensions> ...
אין תגובות

Text Resource in asp.net mvc

יום שלישי, מאי 8, 2012

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

ניהול בסיסי של תהליך כניסה והרשאות לאתר

יום חמישי, דצמבר 15, 2011

  ניהול משתמשים והרשאות הוא אף פעם לא מהדברים הקלים, בפוסט זה נראה כיצד נשתמש במנגנון הבסיסי של asp.net כדי לוודא שאי אפשר להגיע לשום דף לפני שעברו תהליך login בהצלחה, בנוסף נראה כיצד אנחנו "אומרים" לשרת שהמשתמש עבר לוגין.     הדבר הראשון שנרצה לעשות זה להגדיר שהמשתמש לא יכול לגלוש לשום מקום לפני תהליך login, כדי לעשות זאת נכתוב בקובץ הקונפיג תחת system.web את המקטע הבא:   <authorization>   <deny users="?"/> </authorization>   המשמעות של authorization היא הרשאות, במקטע זה אפשר להגדיר חוקים שונים למי מותר להכנס ולמי אסור, ההגדרה הבסיסית ביותר היא כפי שהגדרנו למעלה.   מה שכתבנו הוא שאין לאפשר כניסה למשתמש שהוגדר כאנונימי - אנונימי -...
2 תגובות

Attach web page to email

יום חמישי, יוני 9, 2011

  אתם מכירים את זה שלבוסים יש לפעמים דרישות מוזרות, קורה לכולם לא ?   קחו למשל את הדרישה הבאה. לשלוח מייל כלשהו ולצרף למייל את תוכן הדף כפי שהוא עם כל הפרטים שהמשתמש כתב, כלומר - סוג של Print Screen.   אבל היות שבוסים הם בוסים, ואם אחרי שמתווכחים איתם על המוזרות שבדרישה שלהם עדיין הם מתעקשים אז צריך לבצע את הבקשות שלהם.   הדרך לעשות זאת היא לא מסובכת.   (בדוגמא כאן אני יוצא מתוך הנחה שאתם מכירים כיצד שולחים מיילים מקוד)       ראשית צריך לקבל את קוד ה - html הסופי, ואת זה ניתן לקבל במתודה render   StringBuilder sb = new StringBuilder(); StringWriter stringWriter = new StringWriter(sb); HtmlTextWriter htmlTextWriter = new...
תגיות: , , ,
3 תגובות

ListItemCollection.SelectedItems Extensions

יום ראשון, אפריל 17, 2011

  במידה ואתם צריכים לקבל מאובייקט המכיל ListItemCollection (כמו CheckBoxList ודומיו) את כל הערכים שהמשתמש בחר, תוכלו להשתמש בפונקצייה הבאה   public static class ListItemCollectionExtensions {     public static IEnumerable<ListItem> SelectedItems(this ListItemCollection collection)     {         foreach (ListItem item in collection)         {             if (item.Selected)             {                 yield return item;             }         }     }       בפוסט הבא אני אסביר מה זה ה - yield למי שלא מכיר (זה קיים מ - C#2.0)
2 תגובות

קבלת נתיב מלא מתוך נתיב חלקי – ResolveClientUrl vs ResolveUrl

יום ראשון, ינואר 30, 2011

  הרבה פעמים אנחנו צריכים נתיב של תמונה מתוך הקוד ואנחנו צריכים את הנתיב המלא של התמונה (למשל כשנרצה מקוד לתת כתמונת רקע של אלמנט תמונה מסויימת)   יש שתי פונקציות שנוכל להשתמש בהם, אחת נקראתResolveUrl והשנייה ResolveClientUrl,   כך:   string imgUrl = ResolveUrl("~/images/mying.png");   או: string imgUrl = ResolveClientUrl("~/images/mying.png");     לדוגמא אם מבנה התיקיות שלנו נראה כך:     Pages     Folder1         MyPage.aspx Images     myimg.png   ההבדל בין המתודות הוא שהראשונה מחזירה נתיב אבסולוטי מתחילת הפרוייקט, כלומר: /WebApplication51/images/mying.png   ואילו המתודה השנייה מחזירה מיקום יחסי, כלומר: ../../images/mying.png     כמובן שברוב המקרים נעדיף להשתמש במתודה הראשונה כדי שנעבוד בצורה אבסולוטית ולא נהיה תלויים במבנה התיקיות.
תגיות: , ,
אין תגובות

Active sessions in asp.net

  אחד מהיועצים של סלע שאל אותנו כיצד אפשר לדעת את מספר ה - sessions הפתוחים לאפליקציית asp.net.   עידו ענה במהירות שאפשר להשתמש ב - Performance Counters for ASP.NET יש שם כמה counters מעניינים, כמו כמה sessions כרגע נמצאים כמה היו ועוד, שווה להעיף על זה מבט.
תגיות: ,
2 תגובות

The Complete Guide Of ASP.NET AJAX

יום רביעי, אוקטובר 27, 2010

בס"ד המדריך המלא ל – ASP.NET AJAX   הורדת המדריך בגרסת PDF.    הורדת קבצי המקור של דוגמאות הקוד שבמדריך. תוכן העניינים: ·        דרישות קדם. ·        מטרת המדריך. ·        מה זה בכלל AJAX. ·        Native AJAX – איך עבדו פעם ואיך הכול מתבצע מאחורי הקלעים. o       עבודה עם XmlHttpRequest. o       קריאה ל – HttpHandler. §        GET....

Asp Social Network Controls (Facebook, Twitter etc)

יום ראשון, אוקטובר 17, 2010

  איך להוסיף Like ו - Tweet בקלות.   הדוקמנטצייה המלאה על לחצן ה - Like כאן.   הדוקמנטצייה המלאה על לחצן Tweet כאן.     כתבתי asp controls שעוטפים את כל המאפיינים של אותם לחצנים, ניתן להוריד מ - Code Plex     דוגמא ל - Like   <%@ Register Assembly="SocialNetwork" Namespace="SocialNetwork.Facebook" TagPrefix="sw" %> <sw:FacebookLike runat="server"     UseCurrentPage="true"     Culture="he-IL"     FacebookFont="Verdana"     Layout="Standard"     Mode="IFrame"     Scheme="Light"     ShowFaces="True" />     דוגמא ל - Tweet   <%@ Register Assembly="SocialNetwork" Namespace="SocialNetwork.Twitter" TagPrefix="sw" %>   <sw:TweetButton  runat="server"     Layout="Vertical"     Mode="JavaScript"     Text="My Text"     UseCurrentPage="True"     Via="account">     <Related>         <sw:Related Account="account1" Summary="summary" />         <sw:Related Account="account2" />     </Related> </sw:TweetButton
5 תגובות