Cette vue suppose d'afficher une liste de liens hypertexte, chacun pointant vers une URL externe. L'objectif est que l'utilisateur clique sur l'un de ces liens et que son navigateur ouvre un nouvel onglet avec l'URL sélectionnée . Actuellement, j'ai le balisage suivant:
@Html.ActionLink("SomeSite", "http://subdomain.mydomain.com/SomeSite")
Ce balisage produit:
http://localhost:58980/AccessInstance/http%3a/subdomain.mydomain.com/SomeSite
au lieu de :
http://subdomain.mydomain.com/SomeSite
Que puis-je changer dans mon balisage pour que cela fonctionne comme prévu?
Vous n'avez pas besoin d'utiliser @Html.ActionLink
pour cela. Il suffit d'utiliser un tag A simple:
<a href="http://subdomain.mydomain.com/SomeSite">SomeSite</a>
Html.ActionLink
permet spécifiquement de générer des liens vers des actions définies dans les contrôleurs MVC, dans la même application . Puisque vous créez un lien vers une URL absolue, vous n'avez besoin d'aucune des fonctionnalités fournies par Html.ActionLink
.
Deux manières :
1. met à jour la colonne de la base de données avec le lien complet:
par exemple SQL
:
update ProductTable set LinkColumn='http://www.example.com/Product/Mobiles' where ID=123
Dans asp mvc view
<a href="@model.ProductLink">View</a>
2. Coder en dur la partie http
et la liste à partir du modèle
<a href="http://@model.ProductLink">View</a>
l'espoir aide quelqu'un.
Vous devez prendre en compte votre RouteConfiguration.
routes.MapRoute ( name: "Par défaut", url: "{controller}/{action}"
parce que vous spécifiez le lien d'action comme étant le lien entier que vous souhaitez rediriger . Je vous recommanderais d'utiliser la réponse @rossipedia car vous pouvez faire des choses difficiles comme mettre une plage à l'intérieur du lien.
Ici pour afficher les liens cliquables dans la page d'index
<td>
@Html.ActionLink(item.FileName, "../Uploads/Catalogue/"+item.FileName)
</td>
Même si un ViewBag est surutilisé et qu’il n’est pas le meilleur choix la plupart du temps, c’était quelque chose que j’avais fait lorsqu’on a hérité de l’application MVC de quelqu'un d’autre pour réparer rapidement une URL vers laquelle je devais rediriger avec un paramètre spécifique qui change dynamiquement
<a target="_parent" href="http://localhost:56332/services/@ViewBag.factory">View Service</a>