不得不从asp:超链接更改为asp:linkButton,不能再在链接按钮中使用navigateUrl了......有什么建议吗?
<asp:LinkButton ID="InvoiceLink" runat="server" NavigateUrl="~/Invoices/List.aspx">
<asp:Label id="labelBindfromHomeToInvoice" runat="server" Text="<%# Bind('Site_Name') %>"/>
</asp:LinkButton>
答案 0 :(得分:1)
LinkButton使用PostBackUrl
,因为您将数据“发布”到另一个网址。
答案 1 :(得分: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>
在CodeBehind
中protected void InvoiceLink_Click(object sender, EventArgs e)
{
Response.Redirect("~/Invoices/List.aspx");
}
<强> EDITED 强>
我会改进这个答案。 HyperLink
和LinkButton
之间的主要区别在于HyperLink
不会PostBack,它只是简单地向服务器请求NavigateURL。 LinkButton
只是正常Button
。这意味着它将PostBack服务器,具有执行此操作的所有优点和缺点(例如,发送ViewState,更新控件等)
如果您只需要重定向到另一个页面,可能是最佳选择HyperLink
答案 2 :(得分:1)
在链接按钮上使用PostBackUrl
<asp:LinkButton ID="InvoiceLink" runat="server"
PostBackUrl="~/Invoices/List.aspx">