Question from Tapuz .Net forum: Using a GridView HyperLinkField with Mailto Links (Custom GridView Fields)

30 בנובמבר 2006

שאלה: אני רוצה להוסיף עמודת  קישור mailto ל-GridView אבל שאני מוסיף את הקוד הבא אני מקבל טקסט רגיל : <asp:HyperLinkField DataTextField="Email" HeaderText="דוא'ל" DataNavigateUrlFields="Email" DataNavigateUrlFormatString="mailto:{0}"  /> מה צריך לעשות כדי שהכתובת דוא"ל ב-Email יופיעו כקישורי mailto?    תשובה: שאלה מאוד טובה ובאמת התשובה מעניינת. נסביר את הבעיה קצת יותר לעומק, בואו נניח ויש לי את הקישור הבא   <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="mailto:J@JustinAngel.Net">HyperLink</asp:HyperLink> במצב הזה הקישור יתרנדר לקישור רגיל לכל דבר שברגע שנלחץ עליו הדפדפן שלנו יפתח את תוכנת הדוא"ל שלנו עם אי-מייל שמכוון ל-J@JustinAngel.Net. ניקח את זה צעד קדימה ונניח שיש לנו DataTable (למשל) שמכילה כתובות דוא"ל ונרצה ליצור עמודה עם קישורי mailto אליהם. נכתוב את הקוד הבא בדף ה-ASP.Net שלנו:     //...
4 תגובות

Monday Lecture: Upgrading To SQL Server 2005 for developers (level 300), by Justin-Josef Angel

29 בנובמבר 2006

    יש יותר מדי חומר מקצועי ללמוד בימינו. נראה שכל יום יוצאת טכנולוגיה חדשה ושאנחנו, כמפתחים, נדרשים ללמוד אותה ולהתאפס עליה תוך עשרים שניות מקסימום. בשנה האחרונה בלבד הוציאו את דוט נט 2.0, חלונות וויסטה, סיקוול 2005 וכבר הספיקו להוציא את דוט נט 3.0. זה בלתי אפשרי לבן-אדם אחד ללמוד כל-כך הרבה. סיקוול 2005 זו אפליקציה אדירה שמציעה לנו כמפתחים יכולות מדהימות לשימוש במהלך תהליך הפיתוח. נתנו לנו פונקציות חדשות ב-T-SQL שהיא שפת ה-SQL של סיקוול, נתנו לנו תמיכה מלאה בעבודה מול XML ונתנו לנו אינטגרציה עמוקה ומקצועית מול דוט נט. בהרצאה זו נצלול...

Question from Tapuz .Net forum: Building a Tab Control With Microsoft AJAX

שאלה:  יש לי אתר שעובד עם תגיות <iframe> ב-HTML שמחקה התנהגות של טאבים בדפדפן של הלקוח. הייתי רוצה לבנות אותו טוב יותר, מה הייתם ממליצים לעשות?   תשובה: נשאלת השאלה הבאה: אם אתה רוצה שפעולת שינוי הטאב תהיה שקופה למשתמש או שהיא תדרוש PostBack? אם אתה רוצה שהיא תדרוש PostBack באמת תוכל לעבוד עם פקד MultiView וסט כפתורים שכל אחד מהם יגרום ל-ActiveViewIndex של ה-MultiView להשתנות בהתאם. ככה הלקוח בדפדפן שלו לוחץ על כפתור, הלחיצה על הכפתור רצה בחזרה לשרת עם כל הדף, משנה את ה-View הפעיל ב-MultiView והכל חוזר ללקוח מרונדר ויפה. השילוב בין ה-MultiView ובין...
תגובה אחת

Question from Tapuz .Net forum: Customize GridView's Apperence and Behavior when the DataSource has no rows

25 בנובמבר 2006

שאלה:  אם ב-GridView של ASP.Net 2.0 אין בכלל ערכים להציג, אז ה-GridView עצמו אינו מוצג כלל.  האם ניתן להציג כותרת טבלה בלבד? מה נהוג לעשות במצב הזה?   תשובה: מדובר בפיצ'ר מאוד חזק של GridView שהשתנה מאז ימי ה-DataGrid של 1.1. בדוט נט 1.1 כל פעם של-DataGrid לא היה מידע להציג הוא היה מציג את ה-Header של הטבלה. מה שנראה מאוד מוזר כי יש לך כותרת לטבלה שאין בה שום תוכן. אם את רוצה לחזור לאותו מצב שהיה בדוט נט 1.1 תצטרכי להוסיף שורה חדשה וריקה למקור המידע של ה-GridView. כלומר, בסופו של דבר את...
תגיות: , ,
אין תגובות

Question from Tapuz .Net forum: Deploying a Full-Trust .Net Application over LocalInternet

24 בנובמבר 2006

שאלה:  פיתחנו אפליקציה שנפרסת דרך אינטרנט מקומי במשרד.אך כאשר אנו מריצים אותה אנחנו מקבלים SecurityException.לפי MSDN צריך לתת לאסמבלי Full-Trust וזה איכשהו קשור ל-ClickOnce. מישהו יכול להרחיב בנושא?   תשובה: אתה צריך לעבוד עם Code based security של דוט נט. אני ממליץ בחום שתקרא את ההסבר המפורט יותר על Code Baes Security בדוט נט וכיצד לתת לאסמבלי Full-Trust. תקרא את המאמר הנ"ל בבקשה ורק אז תקרא את המשך התגובה. השיטה שהצגתי בהסבר הזה, היא השיטה הידנית לתת Full Trust לאסמבלי על מחשב כלשהו בו מותקנת הפריימוורק. אם אתה רוצה לפרוס אפליקציה ב-FullTrust ולא להיגרר לקנפוג ידני בכל...
אין תגובות

Question from .Net Tapuz forum: How to color Rows and Cells in a GridView

23 בנובמבר 2006

שאלה: יש אפשרות להוסיף javascript ב Data Grid?נגיד ואני רוצה לעשות onmouseover בטבלת  Data Grid שמקושרת לdatabase ושזה יסמן לי שורה בכל פעם שהסמן עובר, אפשר לעשות כזה דבר?   תשובה: כמו שאמרו קודם לכן, יש אירועים ב-GridView שמאפשרים לתפוס את יצירת השורה החדשה (היות ואין חשיבות למידע ניתן להשתמש באירוע ה-RowCreated ולא בהכרח באירוע RowDataBound שנותן גישה למידע). הכוונה כאן היא שכל פעם שיש שורה חדשה שנוצרת האירוע הזה עולה ודרך e.Row ניתן לקבל את השורה הספציפית המדוברת. // in myWebForm.aspx         <asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound" OnRowCreated="GridView1_RowCreated">         </asp:GridView> // in myWebForm.aspx.cs     protected void Page_Load(object sender, EventArgs e)     {         GridView1.DataSource = new...
2 תגובות

Question from .Net Tapuz forum: How to limit the memory (RAM) my Winforms application uses?

22 בנובמבר 2006

שאלה: כתבתי תכנית קטנה, מאוד קטנה, והיא תופסת בערך כ-14,000 KB מהזכרון בזמן ההרצה.האם ניתן לצמצם את הגודל הזה?התכנית כתובה ב-C# והיא בסביבת WINForm.   תשובה:  הועלה כאן רעיון יפה להשתמש ב- Process.GetCurrentProcess().MaxWorkingSet = new IntPtr(1000000); אישית, הייתי מעדיף לא להגביל בשום שלב את הזכרון שתוכנה דורשת היות וייתכן וכי בנקודת זמן ספציפית היא תדרוש הרבה יותר. במצב כזה או שנאלץ לוותר על הפיצ'ר שדורש הרבה יותר זכרון או יותר סביר שנעלה את גבול הזכרון. בכל מקרה, זה יוצר בעיה רצינית והתעסקות עם זכרון. במצבים שרוצים בהתחלה לצמצם את גודל התוכנה אפשר לבחור בגישה הרבה פחות תקיפה...
תגיות: , ,
אין תגובות

Question from Tapuz .Net forum: Class Pointers in .Net 101 (with Tree Collection)

21 בנובמבר 2006

שאלה:  אני מנסה להבין את איך דוט נט עובדת עם מחלקות שמכילות הצבעות למחלקות אחרות מאותו סוג?  למשל, אני רוצה לבנות עץ היררכי של אזרחי מדינת ישראל כאשר מכל הורה ניתן לנווט לילדים ומכל ילד ניתן לנווט בחזרה להורים.  יש מושג "מצביעים" או תחליף להם בvb.net?האם זו בכלל הגישה הנכונה?   תשובה:     public class SomeClass    {        private List<SomeClass> _children = new List<SomeClass>();        public List<SomeClass> Children        {            get { return _children; }            set { _children = value; }        }         private SomeClass _father;        public SomeClass Father        {            get { return _father; }            set            {                _father = value;                _father.Children.Add(this);            }        }    } // examples of use:            SomeClass root = new SomeClass();             SomeClass son = new SomeClass();            son.Father = root;             SomeClass son2...
תגיות: , ,
אין תגובות

Question from .Net Tapuz forum: How to iterare over a collection and remove items from it?

שאלה: יש לי פקד CheckBoxList עם מס' פריטים בתוכו.אני מעוניין שבאירוע מסויים, כמו למשל CLICK, הפריטים ב-CheckBoxList שלא ניבחרו על ידי המשתמש, יימחקו. כתבתי את הקוד הבא:            for(int i = 1;i<CheckBoxList1.Items.Count;i++)            {                if(!CheckBoxList1.Items.Selected)                {                    CheckBoxList1.Items.Remove(CheckBoxList1.Items);                    Label1.Text = CheckBoxList1.Items.Count.ToString();                } שאני מריץ לולאת for, אני מקבל כל מיני התנהגויות מוזרות וזה בכלל לא עושה מה שרציתי. איך אפשר לעשות כזה דבר?    תשובה:  (מוטי מאירי מוסיף כי במהלך ריצת הלולאה Count של המערך קטן) Count אכן ילך ויקטן במהלך ביצוע הלולאה. עדיף להימנע מביצוע לולאות for כאשר הערך עליו שואפים הוא גבול משתנה היות ותיווצר התנהגות בלתי-סדירה (כמו זו שהוצגה בתחילת השרשור).כמו...
תגיות: , ,
4 תגובות

Question from .Net Tapuz forum: Using HttpWebRequest and HttpWebResponse with non-english content

19 בנובמבר 2006

שאלה: אני משתמש בStreamReader כדי לקרוא את התוכן של דף Web. כלומר:         Dim dataStream As Stream = m_response.GetResponseStream()        Using reader As New StreamReader(dataStream, Text.Encoding.Default)            Return reader.ReadToEnd()        End Using (הm_response הוא מסוג HttpWebResponse.)הבעיה היא שכל עוד לא קראתי את תוכן הדף אני לא יכול לדעת באיזה קידוד הוא נשלח.האם קיימת דרך לגלות באיזה קידוד הדף נמצא ולהמיר בהתאם?   תשובה:  תשובתו של דניאל כץ. מה שאנחנו למעשה רוצים לעשות כאן זה לקרוא את המידע עד הסוף מה-StreamReader ורק לאחר מכן לחפש בתוך התוכן ה-HTMLי ולראות מהו הקידוד של המסמך. דבר ראשון ניתן לגשת HttpWebResponse.ContentEncoding שאמור לפרט מהו...
2 תגובות