DCSIMG
Asp.Net - שלמה גולדברג (הרב דוטנט)
Sign in | Join | Help

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

Browse by Tags

ניהול בסיסי של תהליך כניסה והרשאות לאתר
15 December 11 09:37 AM | Shlomo | 1 comment(s)
ניהול משתמשים והרשאות הוא אף פעם לא מהדברים הקלים, בפוסט זה נראה כיצד נשתמש במנגנון הבסיסי של asp.net כדי לוודא שאי אפשר להגיע לשום דף לפני שעברו תהליך login בהצלחה, בנוסף נראה כיצד אנחנו "אומרים" לשרת שהמשתמש עבר לוגין. הדבר הראשון שנרצה לעשות זה להגדיר שהמשתמש לא יכול לגלוש לשום מקום לפני תהליך login, כדי לעשות זאת נכתוב בקובץ הקונפיג תחת system.web את המקטע הבא: < authorization > < deny users = " ? " /> </ authorization > המשמעות של authorization היא הרשאות...
ListItemCollection.SelectedItems Extensions
17 April 11 09:46 AM | Shlomo | 2 comment(s)
במידה ואתם צריכים לקבל מאובייקט המכיל 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)
קבלת נתיב מלא מתוך נתיב חלקי - ResolveClientUrl vs ResolveUrl
30 January 11 07:05 PM | Shlomo | with no comments
הרבה פעמים אנחנו צריכים נתיב של תמונה מתוך הקוד ואנחנו צריכים את הנתיב המלא של התמונה (למשל כשנרצה מקוד לתת כתמונת רקע של אלמנט תמונה מסויימת) יש שתי פונקציות שנוכל להשתמש בהם, אחת נקראתResolveUrl והשנייה ResolveClientUrl, כך: string imgUrl = ResolveUrl( "~/images/mying.png" ); או: string imgUrl = ResolveClientUrl( "~/images/mying.png" ); לדוגמא אם מבנה התיקיות שלנו נראה כך: Pages Folder1 MyPage.aspx Images myimg.png ההבדל בין המתודות הוא שהראשונה מחזירה נתיב אבסולוטי מתחילת הפרוייקט...
תגים:, ,
The Complete Guide Of ASP.NET AJAX
27 October 10 04:53 PM | Shlomo | 13 comment(s)
בס"ד המדריך המלא ל – ASP.NET AJAX   הורדת המדריך בגרסת PDF .    הורדת קבצי המקור של דוגמאות הקוד שבמדריך . תוכן העניינים: ·         דרישות קדם. ·         מטרת המדריך. ·         מה זה בכלל AJAX . ·         Native AJAX – איך עבדו פעם ואיך הכול מתבצע מאחורי הקלעים. o        עבודה עם XmlHttpRequest . o       ...
Change dimensions of a picture from byte array
10 October 10 03:56 PM | Shlomo | 1 comment(s)
כיצד לשנות גודל של תמונה המתקבלת כמערך של בתים נניח שיש לכם HttpHandler שמציג תמונה ממערך בתים , כדי לשנות את גודלו תוכלו בדרך כלל לכתוב קוד כזה < img src ="myhandler.ashx?id=5" width ="150" /> אבל לפעמים יש מקרים שצריכים לספק את כתובת ה – handler כפרמטר לפונקצייה שאמורה לקבל כתובת של תמונה, במקרים האלו אנחנו צריכים את היכולת לשנות את גודל התמונה בתוך ה – handler. הקוד הבא יהיה שימושי. byte [] image = GetImage(); int size; if ( int .TryParse(context.Request[ "size"...
Insert Row in GridView
09 April 10 09:57 AM | Shlomo | 2 comment(s)
אחד החסרונות של GridView הוא שאין תמיכה מובנית בהוספת שורות חדשות (קצת מצחיק שיש לו אופצייה של InsertItemTemplate אבל אין לו שום משמעות). בפוסט הזה אני אדגים איך אפשר להוסיף לו פונקציונליות של הוספת שורה. (ניתן להוריד את דוגמת הקוד מכאן ) אנחנו צריכים לחשוב של שני מצבים. 1. כשהטבלה שמקושרת לגריד יש בה כבר שורות. 2. כשהטבלה שמקשורת לגריד אין בה עדיין שורות. נניח לטבלה שלנו יש שלוש עמודות, מספר שם וגיל. הנה קוד צד השרת שמקשר את הטבלה לגריד protected void Page_Load( object sender, EventArgs e) { if...
הגדרה של העיצוב לפקדים שלא פעילים
02 March 10 03:04 PM | Shlomo | with no comments
אני ממליץ לצפות בכל 22 הסרטונים שגיא פרסם . (על asp.net 4.0) מאחד הפיצ'רים שהודגמו שם ממש התלהבתי - מדובר על האפשרות לתת עיצוב ל - disabled controls בצורה די אוטומטית. נניח שיש לנו את קוד ה - html הבא < asp : TextBox ID ="txt" runat ="server"></ asp : TextBox > < asp : Button ID ="btnEnable" Text ="Enable" runat ="server" onclick ="btnEnable_Click" /> < asp : Button ID ="btnDisable" Text ="Disable"...
זכירת ה - items שנכתבו ב - aspx ל - ListControl גם אחרי שעושים Bind
18 February 10 11:00 PM | Shlomo | with no comments
אני מניח שיצא לכם לכתבו קוד כזה < asp : DropDownList ID ="ddl" runat ="server"> < asp : ListItem Text ="Select Item"></ asp : ListItem > </ asp : DropDownList > ואם רציתם לקשר רשימה כלשהי בצד השרת IEnumerable < int > list = Enumerable .Range(0, 10); ddl.DataSource = list; ddl.DataBind(); הבעייה בקוד הזה שזה מוחק את ה - Select Item והבעייה הגדולה בדרך כלל במקרה הזה שאם נרשמתם לאירוע של SelectIndexChanged כדי לבחור את הראשון תצטרכו קודם לבחור...
תגים:, , , ,
Filtering with ComboBox (DropDownList) in telerik grid (RadGrid)
18 January 10 04:20 PM | Shlomo | 1 comment(s)
לא מזמן קנינו את החבילה של Telerik ל - Web , אני חושב שזה בחירה נבונה לעבוד עם הפקדים שלהם. בכל מקרה רציתי להדגים כאן, איך ניתן לייצר גריד שיש לו את האפשרות לפלטר בעזרת ComboBox שנותן לבחור מתוך הערכים. לגריד של telerik יש מנגנון פילטרניג מובנה - אבל אין את האפשרות ל - Combo. כדי שיהיה לנו Combo צריך לעשות את הדבר הבא. כתבתי מחלקה כללית שתשמש אותי בכל הפרוייקטים שאני עובד עם Telerik. אנחנו צריכים לרשת מהמחלקה GridTemplateColumn ולדרוס את המתודות הבאות SetupFilterControls SetCurrentFilterValueToControl...
פילטור ב - RadGrid בעזרת CmoboBox
18 January 10 04:20 PM | Shlomo | with no comments
לא מזמן קנינו את החבילה של Telerik ל - Web , אני חושב שזה בחירה נבונה לעבוד עם הפקדים שלהם. בכל מקרה רציתי להדגים כאן, איך ניתן לייצר גריד שיש לו את האפשרות לפלטר בעזרת ComboBox שנותן לבחור מתוך הערכים. לגריד של telerik יש מנגנון פילטרניג מובנה - אבל אין את האפשרות ל - Combo. כדי שיהיה לנו Combo צריך לעשות את הדבר הבא. כתבתי מחלקה כללית שתשמש אותי בכל הפרוייקטים שאני עובד עם Telerik. אנחנו צריכים לרשת מהמחלקה GridTemplateColumn ולדרוס את המתודות הבאות SetupFilterControls SetCurrentFilterValueToControl...
Change ValidationGroup in client side (Java Script)
17 January 10 04:16 PM | Shlomo | with no comments
בתפוז עלתה שאלה, כיצד ניתן לשנות את ה - ValidationGroup בצד הלקוח. (אני אוהב התעסקות עם ולידציות). אז ככה. (ניתן להוריד את הדוגמא, מכאן ) נניח שיש לנו את ה - HTML הבא (שני RadioButton, ארבעה תיבות טקסט, ארבעה RequiredFieldValidator, (עם שני ValidationGroup) בנוסף ValidationSummary ולחצן) < input type ="radio" name ="valid" id ="Radio1" value ="group1" checked ="checked" onclick ="ChnageGropu(this)" /> 1 < input type ="radio"...
למה חשוב לבדוק IsValid בצד השרת כשמשתמשים עם validators (איך אפשר לעקוף (לפרוץ) את הבדיקות בצד הלקוח)
01 January 10 10:42 AM | Shlomo | 1 comment(s)
(זהו פוסט ה - 200 שלי, ואני חושב שזהו הפוסט הראשון בבלוגייה של השנה הלועזית החדשה) שיש לכם דף עם תיבת טקסט שמוצמד אליו RequiredFieldValidator ולחצן. בזמן לחיצה כותבים על הדף את השעה הנוכחית. הקוד נראה כך: < asp : TextBox runat ="server" ID ="txt1" /> < asp : RequiredFieldValidator ErrorMessage ="*" ControlToValidate ="txt1" runat ="server" /> < asp : Button Text ="text" runat ="server" ID ="btn" OnClick...
Redirect to login page in Session_End event
23 December 09 11:20 PM | Shlomo | 4 comment(s)
טוב, אי אפשר באמת לעשות את מה שכתבתי בכותרת, מכיוון שהשרת מפעיל את האירוע של Session_End והחוק הידוע של http, שחייב להיות Request כדי שיחזור Response. אבל אם אתם בכל זאת רוצים שכשנגמר ה - Seesion במידה והדפדפן עדיין פתוח שזה יעבור בצורה אוטומטית לדף הלוגין תוכלו לכתוב את הקוד הזה: (במתודת Page_Load - וממולץ שיהיה לכם דף PageBase שכל הדפים יורשים ממנו ושם תכתבו את הקוד הזה) Response.AddHeader( "Refresh" , Convert .ToString((Session.Timeout * 60) + 5)); if (Session.IsNewSession) { Response...
הוספת קובץ CSS ל - User Control ול - Master Page
21 December 09 10:16 PM | Shlomo | 1 comment(s)
כשעובדים עם Master Page או עם User Control - אחד מהבעיות הנפוצות הוא כיצד לקשר אליו קובץ CSS, הרי בכל פעם הנתיב משתנה מכיון שה - User Control משתלב בתוך הדף, והדף יכול להיות כל פעם מקונן בתוך תיקיות אחרות. אפשר לעשות את זה מקוד, אבל אני לא אוהב את זה (אלא אם כן אתם נוהגים לעשות את זה תמיד ובמקום קבוע, כך שלא צריך לחפש בכל פעם מי הוא קובץ ה - CSS. ב - User Controls אפשר לכתוב משהו כזה < link rel ="stylesheet" type ="text/css" href =' <% =ResolveClientUrl("~/CSS"...
תגים:, , ,
גישה ל - Session מתוך handler
20 December 09 01:27 AM | Shlomo | 3 comment(s)
אם אתם יוצרים handler כלשהו (ashx) ואתם רוצים להגיע ל - session בעזרת contex.Session, תווכחו לדעת שזה null, כדי שתוכלו לגשת אתם צריכים אחד מהשניים, אם אתם צריכים רק לקרוא תוסיפו את ה - interface הבא IReadOnlySessionState ואם אתם רוצים גם לכתוב תוסיפו את ה - interface הבר IRequiresSessionState שני ה - interface הם marked interface כלומר ללא שום מימוש (יותר מתאים שהם היו attributes) הקרדיט מגיע ל - 15Secounds.com בפוסט הבא HTTP Handlers and HTTP Modules in ASP.NET (מומלץ לקריאה)
More Posts Next page »