2012-01-13 32 views
7

Đôi khi khi tôi khởi chạy dự án MVC 3, nó cố gắng tải URL đủ điều kiện cho chế độ xem được hiển thị thay vì hành động trong bộ điều khiển (Điều này mang lại cho tôi lỗi 404). Lần khác nó hoạt động tốt và thực sự chạm vào hành động điều khiển như nó được cho là, nhưng khoảng 50/50.MVC 3 cố gắng khởi chạy URL để xem thay vì hành động điều khiển

URL nó chạm đôi khi là: http://localhost:xxxx/Views/Account/LogOn.cshtml

Đây là thiết lập tuyến đường mặc định trong file Global.asax:

routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Account", action = "LogOn", id = UrlParameter.Optional } 
     ); 

Tôi cũng đã cố gắng loại bỏ các/{id} tham số từ các tuyến đường như Tôi không cảm thấy cần thiết cho màn hình đăng nhập.

Bất kỳ ý tưởng nào? Hiện tại dự án được thiết lập khá đơn giản với phương thức hành động mặc định LogOn trong AccountController vv Điều duy nhất tôi đã làm là thay đổi controller và action trong file global.asax.

Trả lời

3

Có thể bạn đang sử dụng Visual Studio và có thể bạn đang tích cực chỉnh sửa trang .cshtml khi bạn nhấn gỡ lỗi.

Thử khởi chạy trình gỡ lỗi khi bạn đang xem tệp mã hoặc tệp từ dự án không có trong dự án khởi động (ví dụ: dự án mẫu/EF của bạn) và xem liệu trình gỡ lỗi có chính xác không URL.

Có thể có cài đặt trong thuộc tính dự án chỉ định URL khởi động. Tôi sẽ tìm và chỉnh sửa bài đăng này nếu tôi tìm thấy nó.

+0

Cảm ơn Joe đã trả lời. Đây thực sự là những gì đã xảy ra. Khởi chạy trình gỡ lỗi trong khi xem trang .cshtml là một ý tưởng tồi! Tôi đã quen với các biểu mẫu web và không bao giờ gặp phải điều này! Cảm ơn một lần nữa, tôi sẽ đánh dấu nó là câu trả lời khi nó cho phép. – S9Designs

+0

Lưu ý phụ: Barry cung cấp vị trí thuộc tính dự án bên dưới. – S9Designs

1

Tôi đoán bạn đang sử dụng cassini (máy chủ web được xây dựng trong VS.Net)? Nếu vậy tôi nhận được tất cả các thời gian và đường nối là một lỗi trong VS.Net. Chuyển sang IIS 7.5 và bạn không nhận được nó nữa

+0

Cảm ơn bạn đã trả lời - Tôi thực sự đang sử dụng Cassini. Tôi sẽ thử IIS 7.5. – S9Designs

14

Hãy thử điều này: đi đến Project Properties>Web>Start Action

Và kiểm tra Specific Page tùy chọn - bỏ trống hộp văn bản.

+0

Cảm ơn Barry, điều này cũng giúp ích rất nhiều. Tôi không bao giờ phải làm điều đó với các biểu mẫu web! :) – S9Designs

+0

+1, tìm tốt :) –

Các vấn đề liên quan