Tôi đã thêm 3 bộ điều khiển và đối với một trong số đó, chế độ xem Chỉ mục không hoạt động theo mặc định.Chỉ số Bộ điều khiển MVC đôi khi 404?
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/
1) Tôi đã tạo thư viện lớp khung thực thể, được tạo từ cơ sở dữ liệu chứa bảng Nhân viên và công ty.
2) Đã tạo dự án trống MVC 3.
3) Đã thêm tham chiếu dự án từ dự án MVC vào dự án thư viện lớp EF.
4) Thêm một bộ điều khiển, và trong hộp thoại add khiển tôi đã chọn mô hình EF và một trong các bảng và đặt tên bộ điều khiển CompaniesController
5) Sau đó, tôi nhớ tôi cần một người HomeController, vì vậy tôi đã thêm bộ điều khiển khác , đặt tên nó là HomeController và một lần nữa chọn thực thể Companies.
6) Cuối cùng tôi đã thêm một EmployeesController chọn thực thể Nhân viên.
Đây là con đường duy nhất trong Global.asax.cs của tôi:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
Tại sao không phải là mặc định http://localhost:1767/Companies/ URL để action index giống như tất cả các bộ điều khiển khác? Tôi đã thực hiện một vài dự án MVC thực hành và dường như luôn có vấn đề này. Trình điều khiển nhân viên mặc định cho chỉ mục hoạt động tốt, mặc dù không có tuyến đường nào yêu cầu nó làm điều này?
Edit: Đây là lỗi tôi nhận được:
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/
Edit: Vì vậy, tôi thường không tiết lộ tên của các đơn vị của tôi hoặc các chi tiết miền khi đăng ví dụ trực tuyến, nhưng trong trường hợp này công ty đã thực sự được gọi là Thuộc tính, và thay đổi tên thành Properties2 cho thư mục xem và bộ điều khiển cố định vấn đề. Vì vậy, có vẻ như Thuộc tính là từ khóa đặc biệt phá vỡ mặc định thành Chỉ mục nếu nó xuất hiện trong URL
Tôi nghĩ rằng nó có thể là do các thuộc tính là thư mục chuẩn AssemblyInfo.cs (project template) . Nó nên có được 4XX lỗi tin nhắn không chắc chắn lý do tại sao bạn nhận được 404 mặc dù. – Lokeshwer
Bingo ... đã có chính xác vấn đề này. –