Bagikan melalui


IRouteValueProvider Antarmuka

Definisi

Antarmuka metadata yang menentukan nilai rute yang diperlukan pemilih tindakan untuk memilih tindakan. Saat diterapkan ke tindakan menggunakan perutean atribut, nilai rute akan ditambahkan ke Values saat tindakan dipilih.

IRouteValueProvider Ketika digunakan untuk memberikan nilai rute baru ke tindakan, semua tindakan dalam aplikasi juga harus memiliki nilai yang terkait dengan kunci tersebut, atau memiliki nilai implisit .null Lihat keterangan untuk detail selengkapnya.

public interface class IRouteValueProvider
public interface IRouteValueProvider
type IRouteValueProvider = interface
Public Interface IRouteValueProvider
Turunan

Keterangan

Skema khas untuk pemilihan tindakan dalam aplikasi MVC adalah bahwa tindakan akan memerlukan nilai yang cocok untuk ControllerName dan ActionName

Untuk tindakan seperti MyApp.Controllers.HomeController.Index(), agar dipilih, Values harus berisi nilai { "action": "Index", "controller": "Home" }

Jika area digunakan dalam aplikasi (lihat AreaAttribute yang menerapkan IRouteValueProvider) maka semua tindakan dipertimbangkan baik di area dengan memiliki nilai non-areanull (ditentukan oleh AreaAttribute atau lainnya IRouteValueProvider) atau dianggap 'di luar' area dengan memiliki nilai null.

Pertimbangkan aplikasi dengan dua pengontrol, masing-masing dengan Index metode tindakan: - MyApp.Controllers.HomeController.Index()MyApp.Areas.Blog.Controllers.HomeController.Index() - di mana MyApp.Areas.Blog.Controllers.HomeController memiliki atribut [Area("Blog")]area .

Untuk Values like: { "action": "Index", "controller": "Home" }

MyApp.Controllers.HomeController.Index() akan dipilih. MyApp.Area.Blog.Controllers.HomeController.Index() tidak dianggap memenuhi syarat karena Values tidak berisi nilai 'Blog' untuk 'area'.

Untuk Values seperti: { "area": "Blog", "action": "Index", "controller": "Home" }

MyApp.Area.Blog.Controllers.HomeController.Index() akan dipilih. MyApp.Controllers.HomeController.Index() tidak dianggap memenuhi syarat karena nilai rute berisi nilai untuk 'area'. MyApp.Controllers.HomeController.Index() tidak dapat mencocokkan nilai apa pun untuk 'area' selain null.

Properti

RouteKey

Kunci nilai rute.

RouteValue

Nilai rute. Jika null atau kosong, memerlukan nilai rute yang terkait dengan RouteKey hilang atau null.

Berlaku untuk