Saya memiliki View - _Edit
yang tinggal diNews M/V/C
.
Saya menggunakan kembali V/M
via CategoryController
sebagai:
return PartialView("/Views/News/_Edit.cshtml", model);
Bagaimana dari dalam View - _Edit
saya bisa memberitahukan nama pengontrol?
Ketika saya:
alert('@ViewContext. RouteData.Values["controller"].ToString()');
Nilainya adalah: News
Namun, URL-nya adalah:/Category/foobar
Apakah ada cara untuk mendapatkan nilai 'Category'
untuk mengingatkan? Terima kasih
asp.net-mvc-3
Valamas
sumber
sumber
NewsController
?method
yang memuatpartialview
dan apacontroller
yangmethod
ada di.Jawaban:
Saya telah menempatkan ini dalam pandangan sebagian saya:
dalam situasi yang sama seperti yang Anda jelaskan, dan itu menunjukkan pengontrol yang dijelaskan dalam URL (Kategori untuk Anda, Produk untuk saya), alih-alih lokasi sebenarnya dari tampilan sebagian.
Jadi, gunakan lansiran ini sebagai gantinya:
sumber
@ViewContext.RouteData.Values["controller"]
HttpContext.Current
.Request
tersedia langsung.["action"]
berfungsi jika Anda ingin nama metode tindakan.Saya melakukannya seperti ini, tapi mungkin itu hanya ASP.NET MVC 4
sumber
Buat kelas dasar untuk semua pengontrol dan letakkan di sini nama atribut:
Dalam penglihatan
Contoh pengontrol
sumber
Name
properti diatur?Cara lain untuk mendapatkan nama Pengendali saat ini di Tampilan
sumber
Cukup gunakan:
Ini akan memberi Anda seluruh Nama Pengendali
sumber
Anda masih dalam konteks Anda
CategoryController
meskipun Anda sedang memuatPartialView
dariViews/News
folder Anda .sumber
Anda dapat menggunakan salah satu kode di bawah ini untuk mendapatkan nama controller
Jika Anda menggunakan MVC 3, Anda dapat menggunakan
sumber