Pergunta

Had to change from asp:hyperlink to asp:linkButton, can no longer use navigateUrl in link button...any suggestions?

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

Solução

LinkButton doesn't work that way. LinkButton is more like a Button with a Hyperlink appeareance. So you can handle the OnClick Event.

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

In the CodeBehind

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

EDITED

I will improve this answer. The main difference between HyperLink and LinkButton is that HyperLink will not PostBack, it just simply request the NavigateURL to the server. The LinkButton is just a normal Button. This means that it will PostBack the server, with all the advantages and disadvantages to doing this (sending ViewState for example, update the controls, etc)

If you need just to redirect to another page, probably the best choice it will be HyperLink

Outras dicas

LinkButton uses PostBackUrl, because you "post" the data to another url.

On a link button you use the PostBackUrl

<asp:LinkButton ID="InvoiceLink" runat="server"
     PostBackUrl="~/Invoices/List.aspx">
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top