gpt4 book ai didi

asp.net - 如果捕获所有路由均不匹配,则显示“找不到404文件” View

转载 作者:行者123 更新时间:2023-12-03 07:51:38 24 4
gpt4 key购买 nike

我在ASP.NET MVC中设置了所有路由,因此可以捕获/this-page,/that-page等。

当您点击页面时,将调用操作,说出Index(string page),然后针对数据库中的值测试page以确定是否可以找到该页面。如果找不到它,我想显示在FileNotFound中的 View ErrorController,我不想重定向,因为我想将url保留为http://.../page-that-isnt-found,实际上就像StackOverflow一样,如果您给它一个假问题-(https://stackoverflow.com/questions/zzz-aaa)。

现在我的问题在于弄清楚代码,我已经尝试了两种:

[ do page db check ]
if (page == null)
return RedirectToAction("FileNotFound", "Error");
// return View("FileNotFound"); // can't opt for a controller ?

我得到的最接近的是 RedirectToAction(),但是它当然会进行实际的重定向,并且我的url指向/error,这是不希望的行为。我尝试使用 return View(),但似乎无法指定 Controller ,只能指定 View 名称?

最佳答案

正确,通过返回一个View,您指向的是要呈现的View名称,而不是ActionMethod。您应该能够创建返回的包含404页面内容的 View (在同一 Controller 的 View 或共享 View 中)。

希望这可以帮助。

关于asp.net - 如果捕获所有路由均不匹配,则显示“找不到404文件” View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1943322/

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