Hier mal ein Quick ’n‘ Dirty-Ansatz einer Telefonliste mit Initialen.
.aspx
<asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> <table> </HeaderTemplate> <ItemTemplate> <%#SetInitial(Eval("Nachname").ToString())%> <tr> <td><a href="profil.aspx?ID=<%#Eval("ID")%>"> <%#Eval("Nachname")%>, <%#Eval("Vorname")%></a></td> <td><%#Eval("Telefon")%></td> <td><%#Eval("EMail")%></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater>
.aspx.cs
// C# private char initialOld; public string SetInitial(string lastName) { char initial = Convert.ToChar(lastName.Substring(0, 1).ToUpper()); if (initial == 'Ä') initial = 'A'; // Umlaute werden unter den if (initial == 'Ü') initial = 'U'; // dazugehörigen Vokaln gelisten if (initial == 'Ö') initial = 'O'; if (initialOld != initial) { initialOld = initial; return string.Format(@" <tr> <td colspan=""3""> <span class=""initial""><br/> <br/>{0}</span> <a name=""i{1}""></a><span><a href=""#top"">zum Index</a></span> <hr /> </td> </tr>", initial, initial); } else { return null; } }