在我的控制器中,我有一个需要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值的最简单方法是什么? 另外,任何解释为什么会发生这种情况?
答案 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);
}
希望有所帮助