【问题标题】:Passing Date Parameter to RedirectToAction RouteValues将日期参数传递给 RedirectToAction RouteValues
【发布时间】:2011-06-18 19:28:30
【问题描述】:

将 DateTime 参数传递给 RedirectToAction (Asp.Net MVC2) 时 通过传递 DateTime 或传递一个日期:“13/4/2000”

    return RedirectToAction("index", "ControllerName",  new { mydate =  DTHelper.PrintDate(myVM.someobject.someobjectDateTime) });

使用此表示传递的参数 - 控制器无法解析:

http://localhost:6105/ControllerName?mydate=19%2F6%2F2011

我怎样才能让它像原来一样通过(当我自己构建 url 时它可以工作):

(这不起作用 b/c %2F....)

【问题讨论】:

    标签: asp.net-mvc-2 parameter-passing


    【解决方案1】:

    在传递日期时尝试使用以下格式:yyyy-MM-dd:

    var date = myVM.someobject.someobjectDateTime.ToString("yyyy-MM-dd");
    return RedirectToAction("index", "ControllerName",  new { mydate = date });
    

    现在在 Index 中你应该能够得到正确的日期:

    public ActionResult Index(DateTime mydate)
    {
        ...
    }
    

    如果您想要时间组件,请使用以下格式:yyyy-MM-dd HH:mm:ss

    【讨论】:

    • 谢谢,我会检查一下,但我可能会遇到一些欧盟/美国格式差异的问题,但首先我会尝试这种方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    • 2012-12-07
    • 1970-01-01
    相关资源
    最近更新 更多