加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 04:14:54 所属栏目:asp.Net 来源:网络整理
导读:这只是一个我无法弄清楚如何使其工作的例子. 在我的MVC3 Controller文件夹中,如果我添加一个名为“Admin”的新文件夹并添加带有“Index”操作的控制器“News”,则在尝试打开该URL时会出现服务器错误(404): http://url/Admin/News 即使你在它后面输入“/ Ind
这只是一个我无法弄清楚如何使其工作的例子.

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

http://url/Admin/News

即使你在它后面输入“/ Index”,它也行不通.如何创建一个会产生类似URL的层次结构?为了清楚起见,我想创建URL,如:

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

谢谢

解决方法

你似乎仍在思考“物理文件路径”的思维方式. .NET MVC使用路由的概念,您可以在其中定义映射到控制器类和操作的路由.简单来说,您没有映射到文件,而是映射到类.

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

现在,我建议解决你想要的方法是创建一个区域.听起来你想要在你的网站上有一个管理部分,所以我会做以下事情:

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

给你的区域一个名字,在这种情况下“管理员”是有意义的

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

在新创建的管理区域中添加控制器并将其命名为“新闻”
添加您的操作

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

这个解决方案是为了简单起见.如果你想进一步,你将不得不深入研究我在上面提到的RegisterRoutes()方法中创建自己的路由.路由是你应该掌握的,所以我建议这样做.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读