Dans mon contrôleur j'ai une action qui a besoin de 4 paramètresPassez une date JS à une action dans le MVC
(public ActionResult MyAction(string CID, DateTime? SD, DateTime? ED , short? DCost)
J'ai créé une fonction JavaScript avec le code suivant
var SD = new Date();
var ED = new Date();
var num = 666;
window.open("/CarRentz/RentPayment?CID=" + num +"&SD=+ " + SD.toUTCString() + "ED=+ " + ED.toUTCString() + "&DCost=" + num, "_self");
ma chaîne et le numéro Je m'entends très bien, mais peu importe comment je présente la date à mon action, elle est toujours nulle, comme si elle ne l'était pas du tout. Je suis relativement nouveau pour MVC, donc passer des valeurs entre JavaScript et C# peut parfois être difficile.
Quel est le moyen le plus simple de donner/transmettre la valeur Date de JS à mon action? Plus, une explication à pourquoi cela se produit?
quel est le but de toUTCString ?? ici votre paramètre dans l'action du contrôleur est l'heure de la date - vous devez envoyer la valeur au format de l'heure date –
Passez la date en tant que [chaîne au format ISO 8601] (https://stackoverflow.com/a/28219325/2030565) puis l'analyser à DateTime. Cela évite les conversions de type et les problèmes de fuseau horaire. – Jasen
Juste une faute de frappe. Il vous manque le '&' dans '" ED = + 'et vous devez supprimer le' + 'dans' '& SD = +" 'et' "ED = +" '-' "/ CarRentz/RentPayment? CID =" + num + "& SD =" + SD.toUTCString() + "& ED =" + ED.toUTCString() + "& DCost =" + num, "_self" ' –