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

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

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

Browse by Tags

All Tags » WebApplication (RSS)
The Complete Guide Of ASP.NET AJAX
בס"ד המדריך המלא ל – ASP.NET AJAX   הורדת המדריך בגרסת PDF .    הורדת קבצי המקור של דוגמאות הקוד שבמדריך . תוכן העניינים: ·         דרישות קדם. ·         מטרת המדריך. ·         מה זה בכלל AJAX . ·         Native AJAX – איך עבדו פעם ואיך הכול מתבצע מאחורי הקלעים. o        עבודה עם XmlHttpRequest . o       ...
Redirect to login page in Session_End event
טוב, אי אפשר באמת לעשות את מה שכתבתי בכותרת, מכיוון שהשרת מפעיל את האירוע של Session_End והחוק הידוע של http, שחייב להיות Request כדי שיחזור Response. אבל אם אתם בכל זאת רוצים שכשנגמר ה - Seesion במידה והדפדפן עדיין פתוח שזה יעבור בצורה אוטומטית לדף הלוגין תוכלו לכתוב את הקוד הזה: (במתודת Page_Load - וממולץ שיהיה לכם דף PageBase שכל הדפים יורשים ממנו ושם תכתבו את הקוד הזה) Response.AddHeader( "Refresh" , Convert .ToString((Session.Timeout * 60) + 5)); if (Session.IsNewSession) { Response...
Send E-mail from javascript using web service - XMLHTTP (in JSON)
בהמשך ל - Web Service -> JSON -> JavaScript. קל פשוט ונהדר ו - שליחה של Complex Type ו - Array ל - Web Service בפורמט JSON רציתי להראות שימוש נחמד בדבר הזה. אפשר להוריד את הפרויקט - מכאן . סיפור לקוח: הוא מוציא עבודה לגרפיקאים שמחזירים לו דפי html ו - css שהוא משלב באתר שלו - באותם טפסים יש הרבה פעמים שליחה של מיילים - הוא לא רוצה לקחת את מה שהוא מקבל מהגרפיקאים ולהמיר את זה ל - asp.net, הוא רוצה להשתמש בהם כמו שהוא קיבל - והכי הרבה הוא מוכן לכתוב פונקציית JS שתאסוף את הנתונים מהדף ותשלח אותם...
System.UnauthorizedAccessException: Access to the path is denied.
כתבתי אפליקציית web פשוטה וניסתי לייצר קובץ מתוך הקוד בשרת - הקובץ כבר היה קיים בתיקייה ורציתי לדרוס אותו - כתבתי קוד כזה (לא בדיוק כזה אבל אותו רעיון) File .CreateText(Request.MapPath( "a.txt" )); כשהרצתי את הקוד בשרת קבלתי שגיאת חוסר הרשאות - חיפוש מהיר בגוגל גיליתי שאני צריך לתת הרשאות של modify ל - user שמריץ את האפליקצייה (network services) ניסיתי - לא עבד. נתתי לו FullControl - לא עבד. ניסיתי להוסיף את כל ההרשאות שבעולם לכל המשתמשים שקיימים על המחשב של השרת - ואני כל הזמן מקבל שגיאה...
Show Popup before post back with validators
בפוסט הזה הדגמתי איך ניתן להציג חלון מודלי לפני ריצה לשרת ורק במידה וחזר true מהחלון המודלי מתבצעת הריצה לשרת. בדוגמא ההיא יש, FileUpload, CheckBoxList ולחצן. בזמן לחיצה על Submit קופץ חלון מודלי שמבקש להכניס עבור כל שם שנבחר ב - CheckBixList את ה - ID שלו. לשאר הפרטים והדוגמאות עיינו בפוסט הקודם. הבטחתי שאני אדגים גם מצב שבו יש ולידטור על הדף, לדוגמא: אנחנו רוצים לבדוק האם המשתמש העלה קובץ - למעשה ב - html תהיה לנו תוספת פשוטה של: < asp : RequiredFieldValidator ID ="rfv" ValidationGroup...
Show Popup before post back
נניח שיש לנו טופס שהמשתמש ממלא בו פרטים כלשהם ובזמן לחיצה על OK לפני הריצה לשרת אנחנו רוצים להציג חלון אחר (מודלי) ובמידה והמשתמש ילחץ באותו חלון על OK נוכל לעשות ריצה לשרת בחלון הראשון . המוטובצייה לעשות את זה יכולה להיות מכל מיני סיבות - אני אדגים כאן כדוגמא, בטופס הראשון משתמש אמור להעלות קובץ ולבחור משתמשים שיכולים לראות את הקובץ, בזמן לחיצה על OK נפתח לו חלון חדש שבו יש לו GRID עם השמות של המשתמשים ותיבת טקסט שבו הוא אמור להכניס את מספרי הזהות של המשתמשים שהוא בחר - ורק במידה ומספרי הזהות נכונים...
חשיפה של אירועים מתוך UserControl לרישום מתוך הדפים
בתפוז נשאלה שאלה: איך ניתן לחשוף אירועים של פקדים שנמצאים בתוך UserControl כדי שיוכלו להירשם אליהם מתוך הדפים. אפשר לחשוב האם זה נכון לעשות את זה או לא, אבל במידה ומגיעים למסקנה שצריך לעשות את זה - עושים את זה בצורה הבאה: נניח שיש לנו UserControl שיש לו לחצן ואנחנו רוצים לחשוף את אירוע OnClick שלו כדי שיוכלו להירשם אליו. ה - UserControl יראה כך: <% @ Control Language ="C#" AutoEventWireup ="true" CodeBehind ="WebUserControl1.ascx.cs" Inherits ="WebApplication32...
קבלת גודל של תמונה ממערך של בתים בצד השרת
בתפוז עלתה שאלה, כיצד לקבל מימדים של תמונה שהמקור שלה הוא handler ממערך של בתים. לדוגמא, נניח שזה קוד ה - html < asp : Image ImageUrl ="~/Handler1.ashx" ID ="myImg" runat ="server" /> הנה קוד ה - handler public void ProcessRequest( HttpContext context) { context.Response.ContentType = "image/bmp" ; byte [] array = File .ReadAllBytes( @"c:\IMG_1181.jpg" ); context.Response.OutputStream.Write(array, 0, array.Length); } כעת אנחנו רוצים לדעת מה...
שמירת המצב של העמוד כשעושים Back בדפדפן לעמוד שהיו בו שינויים בתוך UpdatePanel
הבעייה ידועה. יש לכם דף שיש בו UpdatePanel עשיתם שינויים בעמוד, עברתם לדף אחר וחזרתם ע"י לחצן Back של הדפדפן כל השנויים שעשיתם נעלמו והדף חזר למצבו ההתחלתי, לעומת זאת אם לא היה UpdatePanel בדף ועברתם לדף אחר כשתחזרו ע"י Back כל השינויים ישמרו. ב - IE8 יש לזה פיתרון מובנה - אבל זה עניין לפוסט אחר, כאן אני רוצה להראות טריק מעניין שיכול לעזור לפתור את הבעייה. דוגמא לבעייה: נניח שיש לי Grid על העמוד כברירת מחדל הוא עולה ריק ויש DropDown - שבזמן שהוא משתנה ה - grid מקושר למידע מתאים. קוד ה ...
Post back inside modal dialog
בעייה שהעסיקה אותי הרבה זמן. יש לי חלון אחד שפותח חלון שני במצב מודלי (בעזרת showModalDialog) החלון השני עושה PostBack לשרת - כשהוא גומר החלון (המודלי) נפתח בחלון חדש. לדוגמא: החלון הראשון: < form id ="form1" runat ="server"> < input type ="button" value ="Open Dialog" onclick ="showModalDialog('WebForm3.aspx')" /> </ form > החלון השני: < form id ="form1" runat ="server"> < asp : Button ID ="btn"...
System.Web.UI.Control.FindControl => FindControlRecursive
אחד הדברים הכי מעצבנים במתודה FindControl ב - Asp.Net, שהוא יודע לחפש רק באוסף הפקדים שלו, אבל הוא לא יודע לחפש פנימה, כלומר - אם יש לי טבלה שבאחד מהעמודות יש פקד שאני מחפש, אני לא אוכל למצוא את זה באמצעות FindControl על הטבלה, רק באמצעות FindControl על העמודה הספציפית שבה הפקד נמצא. כדי לפתור את זה, אפשר להשתמש במתודה הזאת. (היא מוגדרת כ - Extension על Control, אבל כמובן שאפשר למחוק את המילה this, וזה יהפוך למתודה סטטית רגילה) public static Control FindControlRecursive( this Control root, string...
Creating Custom ValidaorSummary
אפשר להוריד מכאן את דוגמת הקוד. כתבתי כמה פעמים על asp validators, כאן אני רוצה לכתוב על יצירה של Validator Summary מותאם אישית, אבל קודם לכן נראה מה זה Validator Summary בכלל. אז ככה, אנחנו יכולים לשים על הדף שלנו הרבה Validaors ולכל אחד מהם לתת ערך כלשהו למאפיין Text, אבל בנוסף על כך אנחנו יכולים לתת ערך למאפיין ErrorMessage, שזה אומר במידה ויהיה ValidatorSummary על הדף הוא יציג את כל ה - ErrorMessage של כל ה - Validators. לדוגמא. יש לנו שני תיבות טקסט, שני RequiredFieldValidator לחצן אחד. ן -...
שינוי גודל התמונה בעת מעבר העכבר על התמונה בתוך grid
חבר מהעבודה שאל אותי את השאלה הבאה: יש לי Grid שבאחת מהעמודות מוצג תמונה של אדם בקטן, אני רוצה שבזמן מעבר עם העכבר על התמונה, יראו אותה בגדול, איך מבצעים את זה ? המימוש הוא די פשוט, את דוגמת הקוד ניתן להוריד מכאן . צרפתי לאפליקצייה חמש תמונות עם השמות 1..5, והנה הקוד שיוצר טבלה ומקשר את ה - Grid לטבלה. protected void Page_Load( object sender, EventArgs e) { DataTable table = new DataTable (); table.Columns.Add( "Img" ); table.Rows.Add( "1.png" ); table.Rows.Add( "2.png"...
Adding control to DetailsView dynamically
בהמשך לפוסט הזה , (שהראה איך להוסיף Validator ל - DetailsView שנוצר בצורה דינמית) אני רוצה להדגים איך להוסיף פקדים בצורה דינמית. לפני הכל, את המאמר הבא - ASP.NET Page Life Cycle Overview כל מפתח ב - ASP.NET צריך להכיר בעל פה. נניח שבזמן Edit אנחנו רוצים להוסיף CheckBox לתא הראשון. הקוד יראה כך: protected void DetailsView1_ModeChanging( object sender, DetailsViewModeEventArgs e) { DetailsView1.ChangeMode(e.NewMode); Bind(); CheckBox chk = new CheckBox (); chk.ID = "CheckBox1" ; DetailsView1...
Creating RequiredFieldValidator for DetailsView dynamically
אחד מהפקדים הנחמדים לעבוד עם מידע הוא ה - DetailsView, הוא יודע להציג מידע לאורך במקום לרוחב (כמו Grid) ומתאים מאוד לעידכון של שורה אחת. בדרך כלל מה שאני עושה זה להציג Grid עם כל הנתונים וכשבוחרים שורה מתוך ה - Grid אני מציג את הנתונים של אותה שורה ב - DetailsView. לאחרונה רציתי לעבוד איתו בצורה דינמית כלומר - לא להגדיר מראש ב - aspx את כל העמודות. ורציתי להוסיף לאחד העמודות RequiredFieldValidator. נשמע פשוט לא, אז נראה את הקוד. בהתחלה אני מקשר טבלה (עם שורה אחת) ל DetailsView protected void Page_Load...
More Posts Next page »