מדוע אי אפשר לשים custom Attribute לשדה hidden
-
יום ראשון 13 מאי 2012 13:59
מצ"ב 2 שורות:
Line 102: <asp:Label Text="" Visible="false" ID="NoFile" runat="server" xField="NoFile" ></asp:Label>
Line 103: <asp:HiddenField value="" ID="NoFile2" runat="server" xField="NoFile" />
עם שדה ה label אין בעיה
אך בשדה ה HIDDEN מפריע לו שאני שם attribute משלי.
השאלה היא דבר ראשון למה?
דבר שני האם זה פתיר בצורה כלשהיא חוץ מהדרך העקומה של להשתמש ב hidden label בתור שדה מחליף?
כל התגובות
-
יום שני 14 מאי 2012 15:04בבקשה :) זה ממש מציק לי.
-
יום שני 14 מאי 2012 21:05מנחה דיון
HiddenField יורש ממחלקה Control
Label יורש ממחלקה WebControl
WebControl היא מחלקה חכמה יותר ובעלת פונצקיונליות רבה יותר לרבות property בשם Attributes המכיל את ה-Attributes המצויינים ב-ASPX
מאחר ולמחלקה Control אין property שכזה אזיי אתה לא יכול לצרף Attributes משלך
פתרון אפשרי לבעיה הוא להשתמש ב-HTML Server Control. לדוגמא:
<input runat="server" type="hidden" ID="hidden1" xField="blabla"/>
- סומן כתשובה על-ידי tetitu יום שלישי 15 מאי 2012 04:39
-
יום שלישי 15 מאי 2012 04:46זאת אומרת שאין לי ברירה ואם אני רוצה את הפונקצונאליות הזאת אני צריך ליצור server control משלי
-
יום שלישי 15 מאי 2012 12:36מנחה דיוןאיזה פונקציונאליות אתה צריך שה-HTML Server Control לא מסוגל לתת?
-
יום שלישי 15 מאי 2012 12:50
אני עובר על כל הקונטרולים שיש לי בדף ובונה להם שאילטת הוספה/עדכון בהתאמה.
ועל מנת שאני אדע לאיזה שדה ב SQL הוא משוייך אני מוסיף את ה אטריביוט xField
ומכיוון שהקונטרול asp:hidden לא יכול לקבל אטריביוטים שלא הוגדרו בשבילו מראש אז ני צריך ליצור server control משלי עבור שדה hidden שכן ידע לקבל את זה.
-
יום שלישי 15 מאי 2012 13:17מנחה דיון
השדה hidden כאשר הוא מוגדר באופן הבא:
input runat="server" type="hidden" ID="hidden1" xField="blabla"/>
יכול לקבל Attributes מהקוד. לדוגמא,
this.hidden1.Attributes.Add("xFields", "blabla");
- סומן כתשובה על-ידי tetitu יום רביעי 16 מאי 2012 06:49
-
יום רביעי 16 מאי 2012 06:50
תודה מרוב server controls שכחתי ש html controls קיימים
- נערך על-ידי tetitu יום רביעי 16 מאי 2012 10:12