2017-07-14 3 views
0

J'ai @ Html.Hidden: @ Html.Hidden ("Zpy_moisId", ViewBag.Zpy_moisId comme objet) comment puis-je passer paramètre de @ Html.Hidden à actionlinkcomment passer la valeur sélectionnée d'un @ Html.Hidden comme paramètre d'entrée dans @ Ajax.ActionLink

merci beaucoup.

+0

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

Répondre

1

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(); 
    } 
}