Quelqu'un pourrait-il dire s'il vous plaît comment passer des valeurs dynamiques en utilisant Url.action ().
Quelque chose comme,
var firstname="abc";
var username = "abcd";
location.href = '@Html.Raw(@Url.Action("Display", "Customer", new { uname = firstname ,name = username}))';
prenom, nom d'utilisateur n'est pas signalé dans la méthode Url.action ().
Comment passer ces valeurs dynamiques en utilisant Url.action ()?
La méthode @Url.Action()
étant proccess sur le server-side
, vous ne pouvez donc pas transmettre de valeur client-side
à cette fonction en tant que paramètre. Vous pouvez concatter les variables client-side
avec l'URL server-side
générée par cette méthode, qui est une chaîne sur la sortie. Essayez quelque chose comme ça:
var firstname = "abc";
var username = "abcd";
location.href = '@Url.Action("Display", "Customer")?uname=' + firstname + '&name=' + username;
La @Url.Action("Display", "Customer")
est traitée sur le server-side
et le reste de la chaîne est traitée sur le client-side
, concaténant le résultat de la méthode server-side
avec le client-side
.
Cette réponse pourrait ne pas être à 100% pertinente pour la question. Mais cela règle le problème ... J'ai trouvé ce moyen simple de satisfaire à cette exigence. Le code va en dessous:
<a href="@Url.Action("Display", "Customer")?custId={{cust.Id}}"></a>
Dans l'exemple ci-dessus, {{cust.Id}} est une variable AngularJS. Cependant, on peut le remplacer par une variable JavaScript.
Je n’ai pas essayé de passer plusieurs variables avec cette méthode, mais j’espère que l’on pourra aussi l’ajouter à l’URL si nécessaire.
Dans mon cas, cela a bien fonctionné simplement en procédant comme suit:
[HttpPost]
public ActionResult DoSomething(int custNum)
{
// Some magic code here...
}
<form id="frmSomething" method="post">
<div>
<!-- Some magic html here... -->
</div>
<button id="btnSubmit" type="submit">Submit</button>
</form>
var frmSomething= $("#frmSomething");
var btnSubmit= $("#btnSubmit");
var custNum = 100;
btnSubmit.click(function()
{
frmSomething.attr("action", "/Home/DoSomething?custNum=" + custNum);
btnSubmit.submit();
});
J'espère que cela aide vatos!
Le moyen le plus simple est:
onClick= 'location.href="/controller/action/"+paramterValue'