Làm thế nào để bạn thiết lập trang khởi động để gỡ lỗi trong một ứng dụng ASP.NET MVC?


131

Làm thế nào để bạn bắt đầu gỡ lỗi ứng dụng tại thư mục gốc? Ví dụ: http: // localhost: 49742 /

Tôi luôn nhận được một trang không tồn tại, chẳng hạn như: http: // localhost: 49742 / Lượt xem / Trang chủ / About.aspx

Lưu ý rằng sẽ ổn khi bắt đầu tại http: // localhost: 49742 / Lượt xem / Trang chủ / Giới thiệu


Câu trả lời:


218

Chuyển đến thuộc tính của dự án của bạn và đặt thuộc tính trang bắt đầu.

  1. Chuyển đến thuộc tính của dự án
  2. Chuyển đến tab Web
  3. Chọn nút radio Trang cụ thể
  4. Nhập url mong muốn vào hộp văn bản Trang cụ thể

1
@ Mark- đây là một liên kết tốt mô tả quá trình chi tiết hơn- stephenwalther.com/blog/archive/2008/07/10/ . Tôi sẽ đặt nó trong câu trả lời của bạn.
RichardOD

22
+1 Đảm bảo nhập nó vào bước 4. Chọn bằng nút [...] sẽ tạo URL không có thật: D
P.Brian.Mackey

10
Nếu bạn chỉ đang thử nghiệm và làm việc với mẫu dự án MVC mặc định trong VS.NET 2010, chỉ cần xóa bất kỳ giá trị nào cho trang bắt đầu, sau đó gỡ lỗi dự án của bạn. Điều này sẽ đưa bạn đến phần chính "Chào mừng bạn đến với ASP.NET MVC!" trang.
atconway

3
Ngoài các bước trên, bạn cũng cần đảm bảo rằng bạn đã chọn đúng DỰ ÁN khởi động (không đủ để thiết lập trang mặc định nếu bạn có nhiều dự án). Bấm chuột phải vào Dự án trong Solution Explorer và đặt nó làm dự án Khởi động. Tên dự án sau đó sẽ được in đậm trong cây Giải pháp.
Jazimov

3
@ Đánh dấu vào bước 4, bạn có thể để trống hộp văn bản và đảm bảo nút radio Trang cụ thể được chọn và nó sẽ bắt đầu gỡ lỗi tại thư mục gốc của ứng dụng.
amraby

22

Mặc dù bạn có thể có một trang mặc định trong dự án MVC, nhưng cách triển khai thông thường hơn cho chế độ xem mặc định sẽ là sử dụng bộ điều khiển mặc định, được áp dụng trong global.asax, thông qua phương thức 'RegisterRoutes (...)'. Chẳng hạn, nếu bạn muốn bộ điều khiển Công cộng \ Home là tuyến / chế độ xem mặc định của bạn, mã sẽ là:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

    }

Để điều này hoạt động, bạn bắt buộc phải có Trang bắt đầu được thiết lập trong dự án.


Wow ... Điều này thực sự hoạt động NGAY sau khi xuất bản trên một máy chủ (không phải là trường hợp cho câu trả lời được chấp nhận, ít nhất, không phải cho tôi) vì vậy đây là câu trả lời thực sự tốt
Antoine Pelletier

10

Điều này hoạt động với tôi dưới Trang cụ thể cho MVC:

/Home/Index

Cập nhật: Hiện tại, tôi chỉ sử dụng một dấu gạch chéo về phía trước trong hộp văn bản "Trang cụ thể" và nó đưa tôi đến trang chủ như được định nghĩa trong định tuyến:

/

Câu trả lời đơn giản. Nhưng hãy cẩn thận - nếu bạn đã nhập một cái gì đó tương tự như URL Bắt đầu, bạn vẫn sẽ nhận được thông báo URL không hợp lệ (ngay cả khi điều này hiện không được chọn). Vì vậy, chọn Bắt đầu URL, xóa văn bản trong đó, THEN đặt thuộc tính Trang cụ thể thành đường dẫn tương đối như trên.
Andy Brown

7

Chọn một trang cụ thể từ thuộc tính Dự án không giải quyết được vấn đề của tôi.

Trong MVC 4 mở App_Start / RouteConfig.cs

Ví dụ: nếu bạn muốn thay đổi trang khởi động thành Đăng nhập :

routes.MapRoute(
        "Default", // Route name
        "",        // URL with parameters
        new { controller = "Account", action = "Login"}  // Parameter defaults
    );

1

Nếu bạn muốn bắt đầu ở "root ứng dụng" như bạn mô tả, nhấp chuột phải vào trang Default.aspx cấp cao nhất và chọn đặt làm trang bắt đầu. Nhấn F5 và bạn đã hoàn tất.

Nếu bạn muốn bắt đầu ở một hành động điều khiển khác, hãy xem câu trả lời của Mark.


1
Cái này có hoạt động với MVC không? Đối với tôi, nó cố gắng bắt đầu trang ASPX và không định tuyến.
Robaticus

1

Xem lại trang này và tôi có thêm thông tin để chia sẻ với người khác.

Môi trường gỡ lỗi (sử dụng Visual Studio)

1a) Liên kết của Stephen Walter để đặt trang khởi động trên MVC bằng các thuộc tính dự án chỉ được áp dụng khi bạn gỡ lỗi ứng dụng MVC của mình.

1b) Nhấp chuột phải vào trang .aspx trong Solution Explorer và chọn "Đặt làm trang bắt đầu" hoạt động tương tự.

Lưu ý: trong cả hai trường hợp trên, cài đặt trang khởi động chỉ được nhận diện bởi Máy chủ phát triển Visual Studio của bạn. Nó không được công nhận bởi máy chủ được triển khai của bạn.

Môi trường triển khai

2a) Để đặt trang khởi động, giả sử rằng bạn không thay đổi bất kỳ định tuyến mặc định nào, hãy thay đổi nội dung của /Views/Home/Index.aspx để thực hiện "Server.Transfer" hoặc "Feedback.Redirect" theo ý muốn của bạn trang.

2b) Thay đổi định tuyến mặc định của bạn trong global.asax.cs thành trang bạn muốn.

Có lựa chọn nào khác mà độc giả nhận thức được không? Lựa chọn nào ở trên (bao gồm tùy chọn của riêng bạn) sẽ là giải pháp ưa thích của bạn (và vui lòng chia sẻ với chúng tôi tại sao)?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.