/ / Jak dynamicznie tworzyć plik ASP.Net Control w pliku .aspx? - asp.net

Jak utworzyć formant ASP.Net w pliku .aspx dynamicznie? - asp.net

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 № 1

Uż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>";