<asp:TemplateColumn>
<ItemTemplate>
<asp:TextBox ID="txt1" Runat="server">text</asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
Ovo je _ItemCreated event.
private void OrdersDBGrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
switch (e.Item.ItemType)
{
case ListItemType.Header:
break;
case ListItemType.Footer:
break;
case ListItemType.Pager:
break;
case ListItemType.Separator:
break;
default:
IEnumerator en = e.Item.Cells[6].Controls.GetEnumerator();
while (en.MoveNext())
{
if ((en.Current is TextBox))// && ((TextBox)en.Current).ID=="txt1")
{
((TextBox)en.Current).Attributes.Add("onBlur","alert('" + ((TextBox)en.Current).ClientID.ToString() +"')");
}
}
break;
}
L_Error.Text = ordersDB1.ErrorMessage;
}
Kad gledam krajnji HTML u Exploreru - View Source - dobijam za textboxove sledece ID-ove za inpute napravljene od txtboxova:
id="OrdersDBGrid__ctl12_txt1" i
i za name:
name="OrdersDBGrid:_ctl12:txt1"
Moja pitanja:
1. Kako da dodjem do punog klijentskog ID slaganjem ClientID eva kroz stablo kontrola - treba mi da bih u svaki pojedinacni input ubacio JavaScript "onBlur"?
2. Cemu sluzi name, a cemu ID?
3. Zasto se u ID pojavljuju donje underscore-ovi a u name i ":"?