문제

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>
도움이 되었습니까?

해결책

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

다른 팁

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">
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top