Comment utiliser un asp:Button
ou asp:LinkButton
comme asp:Hyperlink
?
Le lien hypertexte existant va simplement à une autre section de la même page: NavigateUrl="#Section2"
Je veux le faire dans le fichier aspx sans codage supplémentaire. Merci.
Le but est d'avoir un aspect bouton au lieu du texte souligné MAIS je ne veux pas utiliser une image avec un lien hypertexte pour atteindre cet objectif.
Vous pouvez utiliser l'événement OnClientClick pour appeler une fonction JavaScript:
<asp:Button ID="Button1" runat="server" Text="Button" onclientclick='redirect()' />
Code JavaScript:
function redirect() {
location.href = 'page.aspx';
}
Mais je pense que le mieux serait de créer un hyperlien avec CSS.
Exemple :
.button {
display: block;
height: 25px;
background: #f1f1f1;
padding: 10px;
text-align: center;
border-radius: 5px;
border: 1px solid #e1e1e2;
color: #000;
font-weight: bold;
}
Il y a une voie médiane. Si vous voulez un contrôle HTML mais que vous devez y accéder côté serveur, vous pouvez simplement ajouter le runat="server"
attribut:
<a runat="server" Id="lnkBack">Back</a>
Vous pouvez ensuite modifier le côté serveur href
en utilisant Attributes
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
lnkBack.Attributes.Add("href", url);
}
}
résultant en:
<a id="ctl00_ctl00_mainContentPlaceHolder_contentPlaceHolder_lnkBack"
href="url.aspx">Back</a>
La meilleure façon d'y parvenir est d'ajouter simplement "href" au bouton de lien comme ci-dessous.
<asp:LinkButton runat="server" id="SomeLinkButton" href="url" CssClass="btn btn-primary btn-sm">Button Text</asp:LinkButton>
Utiliser javascript, ou le faire par programme dans la page_load, fonctionnera également, mais ce n'est pas la meilleure façon de procéder.
Vous obtiendrez ce résultat:
<a id="MainContent_ctl00_SomeLinkButton" class="btn btn-primary btn-sm" href="url" href="javascript:__doPostBack('ctl00$MainContent$ctl00$lSomeLinkButton','')">Button Text</a>
Vous pouvez également obtenir les mêmes résultats en utilisant un <a href="" class=""></a>
Normal.
Cela peut être fait très facilement en utilisant un PostBackUrl et un bouton standard.
<asp:Button ID="Button1" runat="server" Text="Name of web location" PostBackUrl="web address" />