gpt4 book ai didi

c# - 将日期从 View 传递到 Controller mvc/c#

转载 作者:太空狗 更新时间:2023-10-29 23:25:34 25 4
gpt4 key购买 nike

我有一个使用日期范围过滤器的网页,当用户单击“过滤器”操作链接并且 Controller 返回包含过滤模型数据的“索引” View 时,选定的日期范围会传回 Controller 。

查看

@Html.ActionLink("Filter", "FilterDateRange", new { from = Url.Encode(Model.FromDate.ToString()), to = Url.Encode(Model.ToDate.ToString()) }, null)

Controller

public ActionResult FilterDateRange(string from, string to)
{
var fromDate = DateTime.Parse(HttpUtility.UrlDecode(from));
var toDate = DateTime.Parse(HttpUtility.UrlDecode(to));

//do stuffs

return View("Index", statsPages);
}

我的问题是,有没有更优雅的方法来做到这一点?目前,日期值在 View 中进行 url 编码,然后在 Controller 中进行 url 解码,我宁愿 Controller 中的方法采用日期时间参数而不是字符串,这看起来有点老套。

谢谢。

最佳答案

为什么不直接使用 DateTime 参数呢?

@Html.ActionLink("Filter", "FilterDateRange", new { from = Model.FromDate, to = Model.ToDate }, null)

public ActionResult FilterDateRange(DateTime from, DateTime to)
{
var fromDate = from;
var toDate = to;

//do stuffs

return View("Index", statsPages);
}

如果您让模型绑定(bind)器完成它的工作,您就不必担心编码、解码或解析。

关于c# - 将日期从 View 传递到 Controller mvc/c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8835544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com