2013-02-19 2 views
0

Пришлось перейти от asp: гиперссылка на asp: linkButton, больше не может использовать navigateUrl в ссылке кнопку ... любые предложения?перейти с гиперссылки на ссылку btn

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

Если вам не нужно это на стороне сервера управления вы можете использовать нормальный <жерех: Label ..... Если вам нужно это на стороне сервера, вы можете использовать PostbackURL вместо этого (пока ваш счастливый «POST» данные формы этой страницы на другой. Или используйте OnClientClick для выполнения перенаправления JS или используйте OnClick и подключите серверный сервер обработчик событий и перенаправление оттуда. – bUKaneer

+0

ОК спасибо за это – John

ответ

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

1

LinkButton использует PostBackUrl, потому что вы "после" данные на другой адрес.

1

на кнопку ссылки вы используете PostBackUrl

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