מזהה אלמנט במסמך HTML

ישנם שני מאפיינים שמאפשרים התיחסות של מזהה לאלמנט במסמך HTML – הראשון הוא name והשני הוא id.

הצורך בזיהוי משרת גם את היכולת לעצב את האלמנט בהתיחסות פרטית

#firstName {
background-color: yellow;
}

וגם ביכולת לגשת אל האלמנט באמצעות Javascript

getElementById(#firstName);

או ב jQuery

$("#firstName")

הבעיה בקוד dotNet שאם הרכיב מנוהל עי השרת כלומר שהוא מסוג "runat="server, והוא נמצא בתוך קונטיינר שגם הוא "runat="server יווצר שרשור של השמות והדרך החדשה להתיחס אליו תהיה

$("[id$='firstName']")

כמובן שיש לשים לב שאין לנו אלמנט נוסף בדף שלמזהה שלו יש אותה סיומת. אם כן ניתן לצמצם את הסלקטור – לדוגמה

$("input[id$='firstName']")

אפשרות נוספת יותר יעילה שקיימת בגרסה dotNet 4.0 היא להשתמש במאפיין ClientIDMode ולשנות את הערך ל- Static (ברירת המחדל היא Inherit שקרוב לוודאי יורשת ערך של AutoID).

ניתן לשנות את המאפיין גם בקוד לפני ה- Render, רצוי כבר ב- Init

היתרונות

  • בהירות
  • פשטות
  • הימנעות משינויים בקוד js קיים
  • גישה ישירה לאלמנט במקום סריקה של ה DOM (סלקטור מורכב ב jQuery)

 המאפיין name לא יושפע וימשיך לקבל שירשור לשם של כל הקונטיינרים שהאלמנט מוכל