Si vous êtes toujours à côté serveur, vous pouvez simplement utiliser ViewData même.
@Html.Hidden("Zpy_moisId", ViewData["Zpy_moisId"])
@Html.ActionLink("Server-side Link", "About", "Home", new { id = ViewData["Zpy_moisId"] })
Sortie
<input id="Zpy_moisId" name="Zpy_moisId" type="hidden" value="123">
<a href="/Home/About/123">Server-side Link</a>
Si vous voulez construire un lien à côté clientbasé sur un autre événement comme cliquez sur le bouton, vous pouvez utiliser jQuery.
@Html.Hidden("Zpy_moisId", ViewData["Zpy_moisId"])
<a id="sample-link">Client-side link</a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#sample-link").attr("href", "@Url.Action("About", "Home")/" +
$("#Zpy_moisId").val());
})
</script>
Sortie
<input id="Zpy_moisId" name="Zpy_moisId" type="hidden" value="123">
<a id="sample-link" src="/Home/About/123">Client-side link</a>
Contrôleur
public class HomeController : Controller
{
[HttpGet]
public ActionResult Index()
{
ViewData["Zpy_moisId"] = "123";
return View();
}
[HttpGet]
public ActionResult About(int id)
{
return View();
}
}
Que voulez-vous dire passer un paramètre à un lien d'action? Un lien d'action est juste un tag. Si vous avez une valeur que vous mettez dans le champ caché, pourquoi ne pourriez-vous pas créer l'URL hrf vous-même? – Fran