Dalam asp.net MVC "homepage" (yaitu rute yang ditampilkan saat menekan www.foo.com) diatur ke Home / Index.
- Di mana nilai ini disimpan?
- Bagaimana cara mengubah "beranda"?
- Apakah ada yang lebih elegan daripada menggunakan RedirectToRoute () dalam tindakan Indeks pengontrol rumah?
Saya mencoba grepping untuk Home / Index dalam proyek saya dan tidak dapat menemukan referensi, saya juga tidak dapat melihat apa pun di IIS (6). Saya melihat halaman default.aspx di root, tetapi itu tampaknya tidak melakukan apa pun yang relevan.
Terima kasih
c#
asp.net-mvc
asp.net-mvc-routing
NikolaiDante
sumber
sumber
url: "{controller}/{action}/{id}"
. Beri nama rute yang berbeda.ASP.NET Core
Routing dikonfigurasi dalam
Configure
metodeStartup
kelas. Untuk menyetel "beranda" cukup tambahkan yang berikut ini. Ini akan menyebabkan pengguna diarahkan ke pengontrol dan tindakan yang ditentukan dalam metode MapRoute saat / jika mereka menavigasi ke URL dasar situs Anda, yaitu, situsanda.com akan mengarahkan pengguna ke situsanda.com/foo/index:Pra-ASP.NET Core
Gunakan metode RegisterRoutes yang terletak di App_Start / RouteConfig.cs (MVC 3 dan 4) atau Global.asax.cs (MVC 1 dan 2) seperti yang ditunjukkan di bawah ini. Ini akan menyebabkan pengguna diarahkan ke pengontrol dan tindakan yang ditentukan dalam metode MapRoute jika mereka menavigasi ke URL dasar situs Anda, yaitu, situsanda.com akan mengarahkan pengguna ke situsanda.com/foo/index:
sumber
Langkah 1: Klik File Global.asax di Solusi Anda.
Langkah 2: Lalu Pergi ke Definisi
RouteConfig.RegisterRoutes(RouteTable.Routes);
Langkah 3: Ubah Nama Pengontrol dan Nama Tampilan
sumber
sumber
periksa metode RegisterRoutes di global.asax.cs - ini adalah tempat default untuk konfigurasi rute ...
sumber
Atribut Routing di MVC 5
Sebelum MVC 5 Anda dapat memetakan URL ke tindakan dan pengontrol tertentu dengan memanggil
routes.MapRoute(...)
file RouteConfig.cs. Di sinilah url untuk beranda disimpan (Home/Index
). Namun jika Anda mengubah rute default seperti yang ditunjukkan di bawah ini,perlu diingat bahwa ini akan memengaruhi URL tindakan dan pengontrol lain. Misalnya, jika Anda memiliki kelas pengontrol bernama
ExampleController
dan metode tindakan di dalamnya dipanggilDoSomething
, maka url default yang diharapkanExampleController/DoSomething
tidak akan berfungsi lagi karena rute default diubah.Solusi untuk ini adalah tidak mengacaukan rute default dan membuat rute baru di file RouteConfig.cs untuk tindakan dan pengontrol lain seperti itu,
Sekarang
DoSomething
tindakanExampleController
kelas akan dipetakan ke urlhey/now
. Tetapi ini bisa membosankan untuk dilakukan setiap kali Anda ingin menentukan rute untuk tindakan yang berbeda. Jadi di MVC 5 Anda sekarang dapat menambahkan atribut untuk mencocokkan url dengan tindakan seperti,sumber
Saya mencoba jawabannya tetapi tidak berhasil untuk saya. Inilah yang akhirnya saya lakukan:
Buat pengontrol baru DefaultController. Dalam aksi indeks, saya menulis pengalihan satu baris:
Di RouteConfig.cs, ubah controller = "Default" untuk rute.
sumber
Jika Anda tidak ingin mengubah router, cukup buka HomeController dan ubah MyNewViewHere di indeks seperti ini:
sumber