65.9K
CodeProject 正在变化。 阅读更多。
Home

动态创建 A-Z 英文字符的超链接

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013 年 10 月 11 日

CPOL
viewsIcon

8013

这是动态构建 A-Z 字符链接的方法,类似于这样:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P

这是动态构建 A-Z 字符链接的方法,类似于这样:

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

您可能需要过滤 GridView 的结果,例如显示名字以特定字符开头的用户列表。

我们可以使用 Repeater Control 动态生成字符链接,如下所示

ASPX

            <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <asp:HyperLink ID="hyp1" runat="server" NavigateUrl='<%# eval("Name","~/Target.aspx?Key={0}") %>'
 Text='<%# eval("Name") %>'></asp:HyperLink>
                </ItemTemplate>
                <SeparatorTemplate>|</SeparatorTemplate>
            </asp:Repeater>

以及页面代码

VB

    Private Sub BindRepeater()

        Dim dt As New Data.DataTable
        dt.Columns.Add("Name")

        Dim c As Char = "A"

        Do While Asc(c) <= Asc("Z")
            dt.Rows.Add(c.ToString())
            c = Chr(Asc(c) + 1)
        Loop Me.Repeater1.DataSource = dt
        Me.Repeater1.DataBind()
    End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        BindRepeater()
    End Sub

C#

private void BindRepeater() 
{ 
    
    Data.DataTable dt = new Data.DataTable(); 
    dt.Columns.Add("Name"); 
    
    char c = "A"; 
    
    while (Strings.Asc(c) <= Strings.Asc("Z")) { 
        dt.Rows.Add(c.ToString()); 
        c = Strings.Chr(Strings.Asc(c) + 1); 
    } 
    
    this.Repeater1.DataSource = dt; 
    this.Repeater1.DataBind(); 
} 

protected void Page_Load(object sender, System.EventArgs e) 
{ 
    BindRepeater(); 
} 

参见

Repeater Web 服务器控件

Repeater 类

© . All rights reserved.