gpt4 book ai didi

asp.net - MVC3 Controller 文件夹不会出现在 URL 中

转载 作者:行者123 更新时间:2023-12-02 11:06:27 26 4
gpt4 key购买 nike

这只是一个例子,我不知道如何让它工作。

在我的 MVC3 Controller 文件夹中,如果我添加一个名为“Admin”的新文件夹,并添加一个带有操作“Index”的 Controller “News”,当您尝试打开该 url (404) 时,您会收到服务器错误:

http://url/Admin/News

即使你在后面输入“/Index”,它也不起作用。如何创建一个能够产生类似 URL 的层次结构?需要明确的是,我想创建如下 URL:

http://url/folder1/folder2/controller/action

谢谢

最佳答案

您似乎仍在以“物理文件路径”的思维方式思考。 .NET MVC 使用路由的概念,您可以在其中定义映射到 Controller 类和操作的路由。简而言之,您不是映射到文件,而是映射到类。

如果您查看 Web 项目的 global.asax 文件,您将看到一个名为 RegisterRoutes() 的方法。此方法连接了站点的所有可用路由,这些路由将用于查找要执行的正确 Controller /操作/参数/模式。

现在,我建议解决您正在寻找的问题的方法是创建一个区域。听起来您希望在您的网站上有一个管理部分,所以我会执行以下操作:

右键单击您的网站项目,选择“添加”,选择“区域”

enter image description here

为您的区域命名,在本例中“Admin”才有意义

您的解决方案资源管理器现在将添加“区域”管理员。请注意它如何模仿标准项目的结构和布局,只是在它自己的文件夹中。

enter image description here

在新创建的管理区域中添加一个 Controller 并将其命名为“News”添加您的操作

这是执行此操作的测试结果 URL:

enter image description here

此解决方案是为了简单起见。如果您想进一步了解,您将必须深入研究在我上面提到的 RegisterRoutes() 方法中创建自己的路由。路由是您应该牢牢掌握的内容,因此我建议您这样做。

关于asp.net - MVC3 Controller 文件夹不会出现在 URL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6555896/

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