בעית ID

micro1

New member
בעית ID

יצרתי WEB USER CONTROL שמחליף בין 2 תמונות כל X זמן. כעת, אני רוצה לשכפל אותו מספר פעמים בדף שלי אך אני נתקל בבעיה , מאחר וה-ID שה-TAGS בצד ה-HTML מקבלים, נבנה בצורה זהה לכל ה-CONTROLS המשוכפלים. כיצד ניתן להתגבר על הבעיה כך שלכל TAG בכל CONTROL יהיה את ה-ID שלו? תודה
 

Justin Angel

New member
קה פרובלמה מואי צ'יקיטה?

ה-ID צד-לקוח של כל התגיות הוא שונה. לא ייתכן תחת שום תנאי שלפקד צד-שרת יהיה אותו ID כמו פקד אחר על הדף. הודעה ישנה שלי על כיצד נקבע ClientID אם אתה מדבר על תגיות <html> סטטיות שמקבלות אותו ID אז זה סביר לגמרי. כדי לפתור את זה תהפוך את התגיות הסטטיות לפקדים צד-שרת בזה שתוסיף להן runat="server".
// this static HTML <div id="myDiv"> // becomes <div id="myDiv" runat="server">​
ואז ה-ID יהיה ביחס לפקדים בתוכם מקונן הפקד הנוכחי. בנוסף, כמובן שצריך לדאוג שלכל הורה בהיררכיה יש ID כלשהו שנקבע ספציפית לו ולא לסמוך על זה שהפריימוורק נותן ID.
 

micro1

New member
ok, מקווה שהבנתי אותך, אבל ...

הבעיה היא לא ביצירת WEB USER CONTROL אחד, אלא ביצירה של מספר USER CONTROLS בהם ה-ID שנוצר, לאותן תגיות HTML, ב-SERVER הוא זהה. וכאן הבעיה ! אודה לך אם תחדד את ההסבר שנתת, (במידה ולא הבנתי אותך נכון).
 

yairov

New member
תנסה בצורה הזו

public class WebControlDemo : WebControl { private TextBox textBox; protected override void OnInit(EventArgs e) { this.textBox = new TextBox(); base.OnInit(e); } protected override void OnLoad(EventArgs e) { this.textBox.ID = this.ClientID + "TextBoxID"; base.OnLoad(e); } }​
 
למעלה