我有一个像这样的控制器:
public ActionResult mycontroller(int status, DateTime start, DateTime end)
{
...stuff
}
我称之为:
http://localhost:22200/mycontroller?status=1&start=18/03/2015&end=18/04/2015
然而,有一半时间我需要这样称呼它:
http://localhost:22200/mycontroller?status=1
我想为两个电话使用相同的控制器。
有没有办法改变控制器接受或不接受参数?
Ps:我不想拥有2个控制器或这样的网址
http://localhost:22200/mycontroller?status=1&start=null&end=null
那里有任何帮助吗? 非常感谢。
答案 0 :(得分:9)
制作start
和end
可选/可空参数,如下所示。
ActionResult Action(int status, DateTime? start = null, DateTime? end = null)
可选参数将允许调用操作,无论是否指定了start
和end
查询字符串参数。省略时,将使用默认值null
。因此,以下两个URL都有效:
http://localhost:22200/mycontroller?status=1
http://localhost:22200/mycontroller?status=1&start=18/03/2015&end=18/04/2015