gpt4 book ai didi

asp.net-mvc - 如果文件名包含点,则找不到 MVC Razor View

转载 作者:行者123 更新时间:2023-12-04 05:03:26 26 4
gpt4 key购买 nike

如果路线包含点,我在访问路线时遇到问题。为了重现,创建一个默认的 MVC4 WebApi 应用程序。走默认路线...

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

编写 Controller 如下...
public class HomeController : Controller
{
public ActionResult Index(string id)
{
if (id == null)
{
return View();
}
else
{
return PartialView(id);
}
}
}

并在现有的“index.cshtml”旁边创建两个文件“test.cshtml”和“test.menu.cshtml”。

打开/home/index/test 按预期工作。它带回了“test.cshtml”的内容。

但是,打开/home/index/test.menu 会返回 404 错误。

为什么会这样?又该如何避免呢?

最佳答案

您看到的 404 错误来自 IIS。 MVC 路由模块永远无法控制。

将以下选项添加到 modules <system.webServer> 的部分web.config中的部分将确保尝试 MVC 路由并解决您的问题:
runAllManagedModulesForAllRequests="true"
在我的 web.config 中没有现有的 modules部分,所以我将以下行添加到 <system.webServer>部分:
<modules runAllManagedModulesForAllRequests="true" />
现在它对我有用。

关于asp.net-mvc - 如果文件名包含点,则找不到 MVC Razor View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15830140/

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