Apakah mungkin untuk menampilkan tampilan dari pengontrol lain?
Katakan misalnya saya punya CategoriesController
dan Category/NotFound.aspx
melihat. Sementara di CategoriesController
, saya dapat dengan mudah kembali View("NotFound")
.
Sekarang katakan saya punya ProductsController
dan tindakan dan pandangan untuk menambahkan produk. Namun, tindakan ini mengharuskan kami memiliki Kategori untuk menambahkan Produk. Sebagai contoh Products/Add/?catid=10
,.
Jika saya tidak dapat menemukan Kategori berdasarkan catid
, saya ingin menunjukkan NotFound
tampilan dari pengontrol Kategori alih-alih membuat CategoryNotFound
tampilan di bawah pengontrol Produk.
Apakah ini mungkin atau apakah saya menyusun sesuatu dengan cara yang salah? Apakah ada cara yang baik untuk melakukan ini?
new ViewResult { ViewName = "~/Views/Error/Unauthorised.cshtml" };
dan itu berhasilKamu bisa memakai:
Itu diuji dalam ASP.NET MVC 3, tetapi juga harus bekerja di ASP.NET MVC 2.
sumber
"~/Views/Category/NotFound.cshtml"
.Iya itu mungkin. Kembalikan
RedirectToAction()
metode seperti ini:sumber
Sudahkah Anda mencoba
RedirectToAction
?sumber
Ya kamu bisa. Kembalikan Tindakan seperti ini:
Sebuah contoh:
Pendekatan ini akan memanggil metode GET
Anda juga dapat meneruskan nilai ke tindakan seperti ini:
sumber
Anda juga dapat memanggil pengontrol apa saja dari JavaScript / jQuery . Katakanlah Anda memiliki controller yang mengembalikan 404 atau halaman / kontrol pengguna lain. Kemudian, pada beberapa tindakan, dari kode klien Anda, Anda dapat memanggil beberapa alamat yang akan memecat controller Anda dan mengembalikan hasilnya dalam format HTML kode klien Anda dapat mengambil hasil yang dikembalikan ini dan meletakkannya di mana pun Anda inginkan di halaman Anda ...
sumber
Dengan kode ini Anda dapat memperoleh pengontrol apa saja:
sumber