gpt4 book ai didi

asp.net-mvc-3 - 缺少路由参数

转载 作者:行者123 更新时间:2023-12-02 03:46:18 25 4
gpt4 key购买 nike

我注册了一条路线:

routes.MapRoute(
"Journals",
"Journals/{year}/{month}/{id}",
new {
controller = "Journals",
action = "Get",
year = UrlParameter.Optional,
month = UrlParameter.Optional,
id = UrlParameter.Optional
}
);

行动:

public ActionResult Get(int? year, int? month, int? id)

稍后查看(只是为了检查):

@Url.Action("Get", "Journals")
@Url.Action("Get", "Journals", new { year = 2013 })
@Url.Action("Get", "Journals", new { year = 2013, month = 4 })
@Url.Action("Get", "Journals", new { year = 2013, month = 4, id = 1 })

结果是:

/Journals
/Journals
/Journals/2013/4
/Journals/2013/4/1

所以第二个 URL 缺少参数。怎么了?

最佳答案

你不能有超过 1 个连续的可选路由参数..因为它无法理解缺少哪一个..

/Journals/2013 中的 2013 可以解释为 yearmonthid

参见 Infinite URL Parameters for ASP.NET MVC Route使用 catch-all 路由参数的解决方法。

关于asp.net-mvc-3 - 缺少路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16845778/

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