Como fazer o botão (link)funcionar como hyperlink?

como é que eu uso um asp:Button ou asp:LinkButton como asp:Hyperlink?

A hiperligação existente vai para outra secção na mesma página.: NavigateUrl="#Section2"

quero fazer isto no ficheiro aspx sem codificação adicional. Obrigado.

O objectivo é ter uma aparência de botão em vez do texto sublinhado, mas não quero usar uma imagem com hiperligação para alcançar este objectivo.

Author: Liam, 2012-12-26

3 answers

Pode usar o evento OnClientClick para invocar uma função JavaScript:

<asp:Button ID="Button1" runat="server" Text="Button" onclientclick='redirect()' />

Código de JavaScript:

function redirect() {
  location.href = 'page.aspx';
}
Mas acho que o melhor seria criar um hiperlink com css.

Exemplo:

.button {
  display: block;
  height: 25px;
  background: #f1f1f1;
  padding: 10px;
  text-align: center;
  border-radius: 5px;
  border: 1px solid #e1e1e2;
  color: #000;
  font-weight: bold;
}
 20
Author: Nils Anders, 2013-12-20 05:17:43
Há um meio termo. Se quiser um controlo de HTML, mas necessitar de aceder ao lado do servidor it, poderá simplesmente adicionar o atributo runat="server":
<a runat="server" Id="lnkBack">Back</a>

Você pode então alterar o lado do servidor href Usando Attributes

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
       lnkBack.Attributes.Add("href", url);
    }
}

Resultando em:

<a id="ctl00_ctl00_mainContentPlaceHolder_contentPlaceHolder_lnkBack" 
      href="url.aspx">Back</a>
 10
Author: Liam, 2014-01-13 12:17:31

A melhor maneira de conseguir isto é simplesmente adicionando "href" ao botão de ligação como em baixo.

<asp:LinkButton runat="server" id="SomeLinkButton" href="url" CssClass="btn btn-primary btn-sm">Button Text</asp:LinkButton>

Usar javascript, ou fazer isto programaticamente no page_load, irá funcionar também, mas não é a melhor maneira de fazer isto.

Vais ter este resultado:

<a id="MainContent_ctl00_SomeLinkButton" class="btn btn-primary btn-sm" href="url" href="javascript:__doPostBack(&#39;ctl00$MainContent$ctl00$lSomeLinkButton&#39;,&#39;&#39;)">Button Text</a>

Você também pode obter os mesmos resultados usando um <a href="" class=""></a>.

 4
Author: mackhax0r, 2017-04-21 15:52:34