2010-03-26 6 views
6

ile sorgu dizesi parametrelerini sorgulamak için kullanılır Bir ASP.NET MVC projesi ile ileriye doğru ilerlemeyi düşünüyoruz ve yönlendirme konusuna karşı parametreler geldi.Bir yönlendirme kuralı ne zaman asp.net mvc

Hem ASP.NET MVC'de hem de her ikisinin birden birleşimini nasıl kurabileceğinizi görmek, birini veya diğerini kullanırken bilmem gereken hususlar var mı?

cevap

5

URL'lerinizi olabildiğince temiz tutmanızı ve mümkün olduğunda rotaları kullanmayı ve denemenizi öneririz. Bilgiyi kullanıcıya iletecek RESTful URI'leri denemelisiniz. Örneğin: o zaman temiz bir URI olmayacak ve daha az bilgi kullanıcıya iletilmektedir sorgu dizeleri bir ton kullanırsanız

www.yourdomain.com/Products/Sports/Clothing 

www.yourdomain.com/Products?Department=Sports&SubDepartment=Clothing 

daha temiz olduğunu.

Bununla birlikte, ekibimiz jquery kullanarak ajax tipi istekleri için sorgu dizelerini kullanır. Bunun nedeni, bu URI'ların işaretlendiğidir ve tarayıcı penceresinde görülmeyecektir. Bu, global.asax'ımızı bir ton rota ile kirlenmeyeceği için biraz daha küçük tutmaya yardımcı oldu.

+0

Genel olarak iyi tavsiyeler. –

3

Projemde sadece isteğe bağlı değerler için querystrings kullanıyoruz. Bu çoğunlukla filtreleme, sıralama ve çağrı listeleri. İsteğe bağlı değerlerin bir rotada ele alınması zor. URL'de querystring'i korumak çok daha zordur. ActionLink ve diğer yönlendirici farkında yardımcıları kullanırken oluşturulmazlar.

+0

"İsteğe bağlı değerlerin bir rotada ele alınması zor" anladım. Bu cümle hakkında daha net olabilir misin? – Adrian

+1

URL, yoldaki isteğe bağlı değere sahip olacaktır. İsteğe bağlı "OrderBy" ve "FilterBy" değerleriniz olduğunu varsayalım. Yoldaki gibi neye benziyordu? Belki/mycontroller/myaction/orderbyprice/filterbyisavailable gibi bir şey. OrderBy mevcut değilse, yolunuz/mycontroller/myaction/{null} ile eşleştirilen bir değer/filterbyisavailable olur. Rotanın sonunda isteğe bağlı değerler varsa Tamam. –