将JS日期传递给MVC中的Action

时间:2017-09-28 17:05:39

标签: javascript c# asp.net-mvc asp.net-mvc-4

在我的控制器中,我有一个需要4个参数的动作

(public ActionResult MyAction(string CID, DateTime? SD, DateTime? ED , short? DCost)

我使用以下代码

创建了一个JavaScript函数
        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");

我的字符串和数字相处得很好,但无论我如何将日期呈现给我的Action,它总是将它们视为null,就好像它们根本没有被传递一样。

我对MVC很新,所以在JavaScript和C#之间传递值有时会很有挑战性。

从JS向我的操作提供/传递Date值的最简单方法是什么? 另外,任何解释为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

您可以发送字符串并解析服务器端

public ActionResult MyAction(string CID, string SD, string ED , short? DCost)
{
   DateTime date1 = DateTime.ParseExact(SD, "ddd MMM d yyyy HH:mm:ss GMTzzzzz", CultureInfo.InvariantCulture);
   DateTime date2 = DateTime.ParseExact(ED, "ddd MMM d yyyy HH:mm:ss GMTzzzzz", CultureInfo.InvariantCulture);
}

希望有所帮助