Ek kan genereer ASP.NET MVC roetes van'n Sitemap?
-
08-06-2019 - |
Vra
Ek dink van die leer van die ASP.NET MVC
raamwerk vir'n opkomende projek.Kan ek gebruik die gevorderde routing te skep lank Url's wat gebaseer is op die sitemap hiërargie?
Voorbeeld navigasie pad:
Home > Winkel > Products > Huishoudelike > Kombuis > Kookware > Cooksets > Kleefwerende
Tipiese (ek dink) MVC URL:
http://example.com/products/category/NonstickCooksets
Gewenste URL:
http://example.com/shop/products/household/kitchen/cookware/cooksets/nonstick
Kan ek dit doen?
Oplossing
Zack, as ek reg verstaan wat jy wil onbeperkte diepte van die subkategorieë.Geen biggie, aangesien MVC Voorbeeld 3 (ek dink 3 of 4) hierdie is opgelos.
Net definieer'n roete soos
"{kontroleerder}/{aksie}/{*categoryPath}"
vir'n url soos :
http://example.com/shop/products/household/kitchen/cookware/cooksets/nonstick
jy moet'n ShopController met'n Produkte aksie :
public class ShopController : Controller
{
...
public ActionResult Products(string categoryPath)
{
// the categoryPath value would be
// "household/kitchen/cookware/cooksets/nonstick". Process it (for ex. split it)
// and then decide what you do..
return View();
}
Ander wenke
Die MVC routing kan jy definieer pretty much enige struktuur wat jy wil, jy hoef net om te definieer wat elk van die stukke beteken semanties. Jy kan stukkies wat "hard-gekodeerde", soos "winkel / produkte" te hê, en dan definieer die res as veranderlike, "{kategorie} / {subcategory} / {spesiale}", ens.
Jy kan ook 'n paar roetes wat al kaart om dieselfde eindpunt as jy wil definieer. Basies, wanneer 'n URL in jou MVC app kom, dit gaan deur die routing tafel totdat dit 'n patroon wat ooreenstem met bevind, vul in die veranderlikes en verby die versoek af na die toepaslike kontroles vir verwerking.
Hoewel die verstek roete is 'n eenvoudige Controller, Aksie, Id soort opstel, dit is beslis nie die omvang van wat jy kan doen.