大佬教程收集整理的这篇文章主要介绍了ASP.NET MVC中的自定义文件夹结构5,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一个链接到尖叫建筑:@L_262_0@的描述
假设的文件夹结构将如下所示:
根
>客户
>控制器
> CustomerController.cs
>模型
> Customer.cs
>视图
> Index.cshtml
> Details.cshtml
> update.cshtml
>员工
>控制器
> employeesController.cs
>模型
> employee.cs
>视图
> Index.cshtml
> Details.cshtml
> update.cshtml
>共享
>视图
> _Layout.cshtml
> Error.cshtml
> _ViewStart.cshtml
> Web.config
相应的URL路由将如下所示:
> http://www.example.com/customers/ =>客户指数
> http://www.example.com/customers/details/1 =>顾客信息
> http://www.example.com/customers/update/1 =>客户更新
> http://www.example.com/employees/ =>员工指数
> http://www.example.com/employees/details/1 =>员工细节
> http://www.example.com/employees/update/1 =>员工更新
我创建了一个自定义的RazorViewENGIne,并添加了相应的视图位置格式(例如“〜/ {1} / Views / {0} .cshtml”)和部分视图位置格式(例如“〜/ Shared / Views / {0}”. CSHTML“).我还将共享的_ViewStart.cshtml移动到根目录,并将Views / Shared文件夹的web.config与根级别的web.config合并,以避免在所有View文件夹中复制这两个文件.
一切都很好,但是,如果我尝试导航到索引页(例如http://www.example.com/employees/),我得到一个403.14错误(禁止).所有其他路线(包括@L_616_8@)工作正常.
我的猜测是,IIS显式阻止了控制器的索引方法的路由,因为该URL与文件系统中的文件夹重合,默认情况下禁用目录浏览.但是,如果我启用目录浏览,它实际上需要我到实际的目录列表,而不是路由到控制器的索引方法.
我可以将“客户”和“员工”文件夹移动到子文件夹中(即将其移出根目录),并且一切正常,但我想尝试将这些文件夹保留在顶层(根据尖叫架构指南).
有没有人有解决这个问题的解决方案?
请注意,MVC区域不是我正在寻找的解决方案,因为它不允许上述文件夹结构(即顶级文件夹以高级用例命名,并且直接包含在Views文件夹中,而不是在子文件夹).
我正在挖掘路线配置,并在RouteCollection上找到属性RouteExistingFiles,并认为这可以工作.
我将值设置为true,并在本地测试项目中的空文件夹,重定向到Home / Index的路由,并导航到localhost:xxx / MyFolder.它工作正常
那么所有你需要做的就是将此属性设置为true,以便首先选择Asp.net路由而不是物理路由.
以上是大佬教程为你收集整理的ASP.NET MVC中的自定义文件夹结构5全部内容,希望文章能够帮你解决ASP.NET MVC中的自定义文件夹结构5所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。