Muszę utworzyć serię kontrolek (hiperłącza i etykiety) w pliku .aspx. Najważniejsze jest to, że muszę kontrolować identyfikator generowanej kontrolki.
Piszę kod w moim pliku .aspx w następujący sposób:
<%for (int i =1; i <= 5; i++){%>
<asp:HyperLink ID="<%#GetContorlName("HyperLink",i,1)%>" CssClass="c083e01" runat="server">HyperLink</asp:HyperLink>
<%} %>
GetContorlName () to funkcja zdefiniowana w pliku codebehind, która zwraca łańcuch reprezentujący identyfikator.
Jednak to nie działa, nie można go skompilować.
Kto może mi pomóc w wykonaniu tego zadania? Pamiętaj, że muszę dynamicznie tworzyć formanty w pliku .aspx, a nie w pliku .cs.
Każda pomoc zostanie doceniona!
Odpowiedzi:
0 dla odpowiedzi № 1Użyj ClientID.
http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx
0 dla odpowiedzi nr 2
Użyj wiązania danych i zagnieżdż elementy sterujące w repeaterze. Pamiętaj, że Enumerable.Range () może być prawidłowym źródłem danych.
0 dla odpowiedzi № 3
wypróbuj tę metodę dla swojego hiperłącza
TextBox txt = new TextBox();
txt.ID = "strtxtbox";
txt.CssClass = "CSS1";
StringBuilder sb = new StringBuilder();
StringWriter writer = new StringWriter(sb);
HtmlTextWriter htmlWriter = new HtmlTextWriter(writer);
txt.RenderControl(htmlWriter);
// lbl to etykieta aspx
lbl.text += @"<td style="width: 5%;">" + sb.ToString() + "</td>";