【问题标题】:change from hyperlink to link btn从超链接更改为链接 btn
【发布时间】:2013-02-04 03:36:03
【问题描述】:

必须从 asp:hyperlink 更改为 asp:linkBut​​ton,不能再在链接按钮中使用 navigateUrl...有什么建议吗?

<asp:LinkButton ID="InvoiceLink" runat="server" NavigateUrl="~/Invoices/List.aspx">
           <asp:Label id="labelBindfromHomeToInvoice" runat="server" Text="<%# Bind('Site_Name') %>"/>
        </asp:LinkButton>

【问题讨论】:

标签: asp.net hyperlink webforms asplinkbutton


【解决方案1】:

LinkButton 不能这样工作。 LinkButton 更像是带有超链接外观的Button。 这样你就可以处理 OnClick 事件了。

<asp:LinkButton ID="InvoiceLink" runat="server" OnClick="InvoiceLink_Click">
    <asp:Label id="labelBindfromHomeToInvoice" runat="server" Text="<%# Bind('Site_Name') %>"/>
</asp:LinkButton>

在代码隐藏中

protected void InvoiceLink_Click(object sender, EventArgs e)
{
    Response.Redirect("~/Invoices/List.aspx");
}

已编辑

我会改进这个答案。 HyperLinkLinkButton 之间的主要区别在于 HyperLink 不会 PostBack,它只是简单地向服务器请求 NavigateURL。 LinkButton 只是一个普通的Button。这意味着它将回发服务器,这样做的所有优点和缺点(例如发送 ViewState、更新控件等)

如果您只需要重定向到另一个页面,最好的选择可能是HyperLink

【讨论】:

    【解决方案2】:

    LinkBut​​ton 使用PostBackUrl,因为您将数据“发布”到另一个 url。

    【讨论】:

      【解决方案3】:

      在链接按钮上,您使用PostBackUrl

      <asp:LinkButton ID="InvoiceLink" runat="server"
           PostBackUrl="~/Invoices/List.aspx">
      

      【讨论】:

        猜你喜欢
        • 2016-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-20
        • 1970-01-01
        • 1970-01-01
        • 2015-08-21
        • 2021-10-30
        相关资源
        最近更新 更多