Passando valori javascript dinamici usando Url.action ()

Qualcuno potrebbe dire come passare valori dinamici usando Url.action ().

Qualcosa di simile a,

var firstname="abc"; var username = "abcd"; location.href = '@Html.Raw(@Url.Action("Display", "Customer", new { uname = firstname ,name = username}))'; 

nome, il nome utente non viene reffered all’interno del metodo Url.action ().

Come passare questi valori dinamici usando Url.action ()?

Il metodo https://stackoverflow.com/questions/15112055/passing-dynamic-javascript-values-using-url-action/@Url.Action() è proccess sul lato server-side , quindi non è ansible passare un valore client-side a questa funzione come parametro. È ansible concatenare le variabili client-side con l’URL server-side generato da questo metodo, che è una stringa sull’output. Prova qualcosa del genere:

 var firstname = "abc"; var username = "abcd"; location.href = 'https://stackoverflow.com/questions/15112055/passing-dynamic-javascript-values-using-url-action/@Url.Action("Display", "Customer")?uname=' + firstname + '&name=' + username; 

L’ https://stackoverflow.com/questions/15112055/passing-dynamic-javascript-values-using-url-action/@Url.Action("Display", "Customer") viene elaborata sul lato server-side e il resto della stringa viene elaborato sul lato client-side , concatenando il risultato del metodo server-side con il client-side .

Questa risposta potrebbe non essere al 100% rilevante per la domanda. Ma risolve il problema. Ho trovato questo modo semplice per raggiungere questo requisito. Il codice va sotto:

  

Nell’esempio sopra {{cust.Id}} è una variabile AngularJS. Tuttavia, è ansible sostituirlo con una variabile JavaScript.

Non ho provato a passare più variabili usando questo metodo, ma spero che possa essere aggiunto all’URL, se necessario.

Nel mio caso ha funzionato alla grande solo facendo quanto segue:

Il controller:

 [HttpPost] public ActionResult DoSomething(int custNum) { // Some magic code here... } 

Crea il modulo senza azione:

 

Imposta evento clic sul pulsante per triggersre l’invio dopo aver aggiunto l’azione al modulo:

 var frmSomething= $("#frmSomething"); var btnSubmit= $("#btnSubmit"); var custNum = 100; btnSubmit.click(function() { frmSomething.attr("action", "/Home/DoSomething?custNum=" + custNum); btnSubmit.submit(); }); 

Spero che questo aiuti i vatos!

Il modo più semplice è:

  onClick= 'location.href="/controller/action/"+paramterValue'