Como fazer o botão (link)funcionar como hyperlink?
como é que eu uso um asp:Button
ou asp:LinkButton
como asp:Hyperlink
?
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.
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;
}
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>
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('ctl00$MainContent$ctl00$lSomeLinkButton','')">Button Text</a>
Você também pode obter os mesmos resultados usando um
<a href="" class=""></a>
.