gpt4 book ai didi

asp.net-mvc - 处理带有无效 Id 参数的操作

转载 作者:行者123 更新时间:2023-12-04 16:45:42 25 4
gpt4 key购买 nike

我是 ASP.NET MVC 的新手,我想知道我处理这些情况的方式是否最合适。

我有一个“ArticleController”,它有一个名为“Details”的操作(使用自动生成的编辑模板)。

默认情况下,路由表中有一个可选的id,我想知道当我没有收到任何 Id 或收到错误的 id 参数时如何处理。

为了修复它,我写了这个(注意 DefaultValue 属性):

        public ViewResult Details([DefaultValue(0)]int id)
{
Article article = db.Articles.Find(id);

if (article == null)
{
return View();
}
return View(article);
}

在 View 中我写了这个:

@if (Model == null)
{
<div>Wrong article id was given.</div>
}
else
{
// Handle as a normal case
}

您会以不同的方式处理这些案例吗?如果是,如何?

最佳答案

我认为最简洁的方法是设置您的路由,以便在没有 ID 时将用户路由到不同的操作。这就是默认路由所做的。例如:/Articles/ 将调用 ArticleController::Index(),而 /Articles/4 将调用 ArticleController::Details (4)

就找不到 ID 的情况而言,就个人而言,我更愿意返回 404 错误:

return new HttpNotFoundResult("This doesn't exist");

关于asp.net-mvc - 处理带有无效 Id 参数的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8459529/

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