如何为MVC Core中的某些参数类型定义自定义查询字符串格式?

时间:2017-11-10 09:49:47

标签: c# asp.net-core

我使用此签名定义了一个控制器方法:

    public async Task<IActionResult> ChartsPage(
        string pageName, 
        DateTimeOffset sampleFrom,
        DateTimeOffset sampleTo)

在某个时间范围内提取一些数据后返回我的页面ViewModel。

在另一个页面视图中,我创建了一个指向显示ChartsPage控制器方法输出的页面的链接:

@Html.ActionLink(
   "ChartsPage",
   "Pages",
   new
   {
       pageName = "Overview",
       sampleFrom = DateTimeOffset.Now.AddHours(-1),
       sampleTo = DateTimeOffset.Now
   })

我按下链接时生成的网址是:

.../Pages/ChartsPage?pageName=Overview&sampleFrom=11%2F10%2F2017%2009%3A38%3A16%20%2B01%3A00&sampleTo=11%2F10%2F2017%2010%3A38%3A16%20%2B01%3A00

我想通过为DateTimeOffset类型的参数定义自定义序列化程序和反序列化程序,以更易读的方式格式化Url栏中的DateTimeOffset

示例结果(伪格式):

.../Pages/ChartsPage?pageName=Overview&sampleFrom=20171110-1047Z0100&sampleTo=20171110-1147Z0100

我该怎么做?

0 个答案:

没有答案