2013-02-19 117 views
0

不得不从asp:超链接改为asp:linkBut​​ton,不能再使用链接按钮中的navigateUrl ...任何建议?从超链接更改为链接btn

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

回答

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"); 
} 

EDITED

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

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

1

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

1

您使用的PostBackUrl

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