Bagaimana Anda mengatur halaman startup untuk debugging dalam aplikasi ASP.NET MVC?

Jawaban:

218

Buka properti proyek Anda dan atur properti halaman awal.

  1. Pergi ke Properties proyek
  2. Buka tab Web
  3. Pilih tombol radio Halaman Khusus
  4. Ketikkan url yang diinginkan di kotak teks Halaman Khusus
Mark Seemann
sumber
1
@ Mark- di sini adalah tautan yang bagus yang menjelaskan proses secara lebih rinci- stephenwalther.com/blog/archive/2008/07/10/… . Saya akan menempatkan itu dalam jawaban Anda.
RichardOD
22
+1 Pastikan untuk mengetikkannya pada langkah 4. Memilih dengan tombol [...] akan membuat URL palsu: D
P.Brian.Mackey
10
Jika Anda hanya menguji dan bekerja dengan templat proyek MVC default di VS.NET 2010, cukup bersihkan nilai apa pun untuk halaman mulai, dan kemudian debug proyek Anda. Ini akan membawa Anda ke utama "Selamat Datang di ASP.NET MVC!" halaman.
atconway
3
Selain langkah-langkah di atas, Anda juga perlu memastikan bahwa Anda telah memilih PROJECT startup dengan benar (itu tidak cukup untuk mengatur halaman default jika Anda memiliki beberapa proyek). Klik kanan Proyek di Solution Explorer dan atur sebagai proyek Startup. Nama proyek kemudian akan dicetak tebal di pohon Solusi.
Jazimov
3
@ Tandai- pada langkah 4 Anda dapat mengosongkan kotak teks dan memastikan tombol radio Halaman Khusus dipilih dan akan mulai debugging di root aplikasi.
amraby
22

Meskipun Anda dapat memiliki halaman default di proyek MVC, implementasi yang lebih konvensional untuk tampilan default adalah dengan menggunakan kontroler default, yang diterapkan di global.asax, melalui metode 'RegisterRoutes (...)'. Sebagai contoh jika Anda ingin pengontrol Publik \ Rumah menjadi rute / tampilan default Anda, kodenya adalah:

    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
        );

    }

Agar ini berfungsi, Anda harus memiliki Halaman Awal yang ditetapkan dalam proyek.

1c1cle
sumber
Wow ... Ini benar-benar bekerja BAHKAN setelah penerbitan di server (yang tidak berlaku untuk jawaban yang diterima, setidaknya, bukan untuk saya) jadi ini adalah jawaban yang sebenarnya bagus
Antoine Pelletier
10

Ini berfungsi untuk saya di bawah Halaman Khusus untuk MVC:

/Home/Index

Pembaruan: Saat ini, saya hanya menggunakan garis miring di kotak teks "Halaman Spesifik", dan itu membawa saya ke halaman beranda seperti yang didefinisikan dalam perutean:

/
Greg Gum
sumber
Jawaban sederhana yang bagus. Namun berhati-hatilah - jika Anda memasukkan sesuatu yang mirip dengan URL Mulai, Anda masih akan mendapatkan pesan URL yang tidak valid (bahkan jika ini saat ini tidak dipilih). Jadi pilih Mulai URL, hapus teks di dalamnya, MAKA tetapkan properti Halaman Spesifik ke jalur relatif seperti di atas.
Andy Brown
7

Memilih halaman tertentu dari properti Project tidak menyelesaikan masalah saya.

Di MVC 4 buka App_Start / RouteConfig.cs

Misalnya, jika Anda ingin mengubah halaman startup menjadi Login :

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

Jika Anda ingin memulai di "root aplikasi" seperti yang Anda jelaskan klik kanan pada halaman Default.aspx tingkat atas dan pilih atur sebagai halaman awal. Tekan F5 dan Anda selesai.

Jika Anda ingin memulai aksi pengontrol yang berbeda, lihat jawaban Mark.

RichardOD
sumber
1
Apakah ini berfungsi untuk MVC? Bagi saya, ia mencoba memulai halaman ASPX dan tidak merutekan.
Robaticus
1

Mengunjungi kembali halaman ini dan saya memiliki lebih banyak informasi untuk dibagikan kepada orang lain.

Lingkungan debug (menggunakan Visual Studio)

1a) Tautan Stephen Walter untuk mengatur halaman startup di MVC menggunakan properti proyek hanya berlaku ketika Anda sedang debug aplikasi MVC Anda.

1b) Klik kanan mouse pada halaman .aspx di Solution Explorer dan pilih "Set As Start Page" berperilaku sama.

Catatan: dalam kedua kasus di atas, pengaturan halaman startup hanya dikenali oleh Visual Studio Development Server Anda. Itu tidak dikenali oleh server yang Anda gunakan.

Lingkungan yang digunakan

2a) Untuk mengatur halaman startup, dengan anggapan bahwa Anda belum mengubah rute default, ubah konten dari /Views/Home/Index.aspx untuk melakukan "Server.Transfer" atau "Response.Redirect" ke yang Anda inginkan halaman.

2b) Ubah rute default Anda di global.asax.cs Anda ke halaman yang Anda inginkan.

Apakah ada opsi lain yang diketahui pembaca? Manakah dari yang di atas (termasuk pilihan Anda sendiri) yang akan menjadi solusi pilihan Anda (dan tolong sampaikan kepada kami mengapa)?

Syd
sumber