Je maintient un site Web Web Forms ASP.NET <asp:HyperLink id="ContactUsLink"
runat="server"
Enabled="true"
NavigateUrl="/ContactUs.aspx"
Text="Contact Us">
</asp:HyperLink>
4 Réponses :
Essayez:
Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath
Vous devez préfixer vos adresses avec un ~. donc "~ / contact.aspx" sur n'importe quel contrôle de serveur Runat = serveur. Cela ne fonctionnera pas pour une étiquette standard. Vous pouvez ajouter Runat = Server à une étiquette normale pour en faire un contrôle du serveur.
L'heure d'exécution verra le ~ et le rendre relatif à ce que vous courez comme. P>
<asp:HyperLink id="ContactUsLink" runat="server" Enabled="true" NavigateUrl="~/ContactUs.aspx" Text="Contact Us"> </asp:HyperLink>
Vous pouvez utiliser le ~ qui résoudra votre URL correctement, de sorte que votre contrôle de lien hypertexte devient ceci:
<asp:HyperLink id="ContactUsLink" runat="server" Enabled="true" NavigateUrl="~/ContactUs.aspx" Text="Contact Us"> </asp:HyperLink>
Le ~ est essentiel!
window.location.protocol + "/" +(window.location.host + "/" + window.location.pathname);