2011-10-13 5 views
0

Je veux utiliser une variable javascript pour passer en paramètre à mon constructeur de classe en C#.convertir une variable javascript en variable C#

Comment puis-je traduire l'ID de variable java en C# de sorte que je puisse transmettre la valeur à User.IsOnLeave?

<script type="text/javascript"> 
var ID; 
var dateToEvaluate; 

function convertVariable() 
    { 


*if (User.IsOnLeave(***ID***, dateToEvaluate)) 
      { 

}* 
} 
</script> 

Répondre

0

L'un des moyens (OMI, la seule façon) de travailler avec votre code C# dans votre code JavaScript est de faire Ajax appels.

jQuery.ajax() est un bon choix.

5

Vous ne pouvez pas accéder directement aux variables JS à partir de C#, car JS est côté client et C# est côté serveur. Vous pouvez effectuer une action du contrôleur et lui envoyer une requête AJAX avec ces paramètres. Comme ceci:

JS:

var id; 
var dataToEvaluate; 

jQuery.ajax({ 
    type: 'POST', 
    url: 'SomeController/SomeAction', 
    data: { id: id, dataToEvaluate: dataToEvaluate }, 
    success: function(data) { 
     // do what you have to do with the result of the action 
    } 
}); 
contrôleur

:

public ActionResult SomeAction(string id, string dataToEvaluate) 
{ 
    // some processing here 
    return <probably a JsonResult or something that fits your needs> 
} 
-1

L'option la plus facile est de rendre juste la valeur d'une zone de texte caché ou élément dom, ont alors javascript accéder au champ.

Par exemple

<input type="hidden" value="set from c#" id="myValue" /> 

en javascript

var dateToEvaluate = document.getElemenetById("myValue").value; 

Ou si vous Javascript est dans le même fichier que votre code HTML. Vous pourriez dire en javascript:

var dateToEvaluate = @myValue; 

supposant que la syntaxe de rasoir

+0

pourquoi le vote vers le bas? Réponse similaire ici http://stackoverflow.com/questions/4599169/using-razor-within-javascript/4599403#4599403 a plus de 177 votes en hausse – Daveo

+1

Je suppose que c'est parce que le PO essaie d'obtenir une valeur JS dans le code C#, et non l'inverse comme vous l'avez démontré. –

Questions connexes