【问题标题】:ASP.NET MVC Attribute routing parameter issueASP.NET MVC 属性路由参数问题
【发布时间】:2023-01-25 21:54:09
【问题描述】:

我有以下代码

public class BooksController : Controller
{
    [Route("/Books/{id?}")]
    public IActionResult Index(string id)
    {
        return View(id);
    }
}

我的问题是,当我尝试输入参数时,它(看起来)被视为控制器的操作,所以我不断收到此异常。

我需要有人解释我做错了什么。

【问题讨论】:

  • 您的 ID 是“sfawdas”。使用 View("sfawdas"),它会重定向到“sfawdas”视图,该视图不存在,如屏幕截图所示。虽然你在 Route 属性中定义 id 是一个可以为 null 的整数类型,但 id 参数是一个字符串类型。

标签: c# asp.net-mvc asp.net-mvc-routing


【解决方案1】:

如果你想将参数作为字符串传递,你可以像下面这样:

public class BooksController : Controller
{
    [Route("/Books/{id?}")]
    public IActionResult Index(string id)
    {
        if (string.IsNullOrEmpty(id))
            id = "default_value";
        return View((object)id);
    }
}

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 2013-11-13
    • 2011-11-30
    相关资源
    最近更新 更多