Aar*_*nLS 5 model-view-controller asp.net-mvc asp.net-mvc-routing asp.net-mvc-3
我添加了3个控制器,对于其中一个控制器,默认情况下索引视图不起作用.
Works(shows index):
http://localhost:1767/Employees/
http://localhost:1767/Employees/Index
http://localhost:1767/Home/
http://localhost:1767/Home/Index
http://localhost:1767/
http://localhost:1767/Companies/Index
Doesn't work(gives 404 error):
http://localhost:1767/Companies/
Run Code Online (Sandbox Code Playgroud)
1)我创建了一个实体框架类库,它是从包含Employees和Companies表的数据库生成的.
2)创建了一个MVC 3空项目.
3)从MVC项目向EF类库项目添加了项目引用.
4)添加了一个控制器,在添加控制器对话框中,我选择了EF模型和其中一个表,并命名为控制器CompaniesController
5)然后我记得我需要一个HomeController,所以我添加了另一个控制器,命名为HomeController,并再次选择了公司实体.
6)最后,我添加了一个EmployeesController,选择了Employees实体.
这是我的Global.asax.cs中唯一的路线:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
Run Code Online (Sandbox Code Playgroud)
为什么http:// localhost:1767/Companies / URL不像所有其他控制器一样默认为索引操作?我做了一些练习MVC项目,似乎总是遇到这个问题.员工控制器默认为索引工作正常,即使没有路由告诉它这样做?
编辑:这是我收到的错误:
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /Companies/
Run Code Online (Sandbox Code Playgroud)
编辑:所以我通常不会在网上发布示例时透露我的实体名称或域名详细信息,但在这种情况下,公司实际上称为属性,并且将名称更改为属性2以查看视图文件夹和控制器修复了问题.因此,似乎属性是一个特殊的关键字,如果它出现在URL中,则会将默认值分解为索引
| 归档时间: |
|
| 查看次数: |
6410 次 |
| 最近记录: |