【问题标题】:Binding hyperlink in gridview using c#使用c#在gridview中绑定超链接
【发布时间】:2014-01-27 18:39:57
【问题描述】:

如何在GridView 中使用C#绑定超链接?

ASP.NET代码:

<asp:GridView ID="GridView1" runat="server" onselectedindexchanged="GridView1_SelectedIndexChanged" AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
    <Columns>
        <asp:TemplateField HeaderText="Name">
            <ItemTemplate>
               <asp:HyperLink id="HyperLink2" NavigateUrl="" Text="<%#Eval("pdfname") %>" runat="server"/>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

【问题讨论】:

    标签: c# asp.net pdf gridview hyperlink


    【解决方案1】:

    只需使用 eval:

    <asp:HyperLink id="HyperLink2" NavigateUrl='<%#Eval("YourUrl") %>' Text='<%#Eval("pdfname") %>' runat="server"/>
    

    如果您的 Url 位于名为“YourUrl”的 DataBound 项属性中

    如果需要动态构造,可以使用方法:

    <asp:HyperLink id="HyperLink2" NavigateUrl='<%# CreatePageUrl(Container.DataItem)%>' Text='<%#Eval("pdfname") %>' runat="server"/>
    

    在后面的代码中定义 CreatePageUrl 方法。

    【讨论】:

    • HyperLink2.NavigateUrl = Page.ResolveUrl("Pdfhandler.ashx?empid=" + TextBox8.Text);我需要传递这个网址。我应该如何用c#编写它背后的代码?
    • 这样? " runat="server"/>
    • @user3168680 您需要在 aspx 标记或 cs 代码隐藏中设置 NavigateUrl 属性吗?请在您的问题中更具体。
    • 这样编译就好了。
    • @realnero,虽然它在您的评论中,但它不在您的答案中。如果你愿意,可以编辑。
    【解决方案2】:

    使用网格视图的 OnRowDataBound 事件找到超链接控件,然后绑定你想要的 url。示例。

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                HyperLink hl= (HyperLink)e.Row.findControl("HyperLink2");   
                hl.NavigateUrl = "Your Url";
            }
        }
    

    【讨论】:

    • 我在后面尝试了这段代码,但仍然没有显示网格。
    • 这个 C# 代码: if (e.Row.RowType == DataControlRowType.DataRow) { HyperLink hl = (HyperLink)e.Row.FindControl("HyperLink2"); hl.NavigateUrl = Page.ResolveUrl("Pdfhandler.ashx?empid=" + TextBox8.Text); }
    • 确认您的数据源正在返回数据。如果没有数据,则不会生成gridview。
    • 根据您在注释中的代码 HyperLink2 不可见(Visible="False")。请检查您的代码
    猜你喜欢
    • 2011-06-10
    • 2013-10-17
    • 1970-01-01
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    相关资源
    最近更新 更多