Birden çok Parametre ASP.NET kullanarak yönlendirme MVC
Firmamız için bir API geliştiriyor ve ASP.NET MVC kullanarak düşünüyoruz. Bizim API tasarlarken, kullanıcı XML biçiminde: API bilgi istemek gibi aramaları aşağıda kullanmaya karar verdik
Gördüğünüz gibi, birden fazla parametre (yani artist
api_key
) geçirilir. ASP.NET MVC*,* 11 ** 10 eylem olurdu, ama nasıl eylem için birden çok parametre geçmek istiyorsunuz?
Bu bile yukarıda biçimini kullanarak mümkün mü?
CEVAP
Parametreler sadece doğrudan eylem yöntemleri üzerine parametreler ekleyerek MVC desteklenir. Aşağıdaki gibi: bir eylem verildi
public ActionResult GetImages(string artistName, string apiKey)
MVC otomatik doldurma bir URL verildiğinde parametreleri aşağıdaki gibi olacaktır:
/Artist/GetImages/?artistName=cher&apiKey=XXX
Ek bir özel durum parametreleri olarak adlandırılır "". ıd Herhangi bir parametre KİMLİĞİ belirtilen sorgu dizesi, bu yüzden yerine: yol yardımcı olabilir
public ActionResult GetImages(string id, string apiKey)
doğru aşağıdaki gibi bir URL ile doldurulması:
/Artist/GetImages/cher?apiKey=XXX
Eğer daha karmaşık bir senaryo varsa, buna ek olarak, bu MVC bir eylem bulmak için kullanır yönlendirme kuralları özelleştirebilirsiniz. Eğer küresel.asax dosya özelleştirilebilir yönlendirme kuralları içerir. Varsayılan olarak kural bu gibi görünüyor:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Gibi bir url destek istedi
/Artist/GetImages/cher/api-key
bir yol gibi ekleyebilirsiniz:
routes.MapRoute(
"ArtistImages", // Route name
"{controller}/{action}/{artistName}/{apikey}", // URL with parameters
new { controller = "Home", action = "Index", artistName = "", apikey = "" } // Parameter defaults
);
ve ilk örnek gibi bir yöntem yukarıda.
Nasıl bir yönlendirme sayfası jQuery k...
Birden çok sütun kullanarak grup...
Parametre olarak geçirmek Yöntem kulla...
Birden fazla arka plan resimleri CSS k...
Herhangi bir parametre Listesi içinde ...