gpt4 book ai didi

c# - Action 路由可选的 id 参数

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

我正在尝试创建一个带有可选/id 参数的 Controller 操作,如下所示:

  1. 默认http://localhost/tasks
  2. ID http://localhost/tasks/42

这是 Controller 和 Action :我试图做的是在操作上使用路由属性

public class TasksController : AsyncController
{
[Route("tasks/{id}")]
public ActionResult Index(string id)
{
...
}
}

这只适用于在 url 中设置的 id 参数,但是默认页面 /tasks 会抛出一个未找到的错误,或者当使用 [Route("tasks")] 没有 id,默认页面有效,但是当设置 id 时,再次抛出找不到错误。我还尝试了 [Route("tasks/{id ?}")] 将 id 标记为可选参数,但它没有用。

有什么想法可以实现吗?

最佳答案

您可以通过向路由参数添加问号来使 URI 参数可选。如果路由参数是可选的,则必须为方法参数定义一个默认值。

在 Action 方法上设置默认值,并在路由参数末尾添加问号。

[Route("tasks/{id?}")]
public ActionResult Index(string id =null)

关于c# - Action 路由可选的 id 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31256829/

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