J'ai cherché et cherché à faire de l'ancienne URL comme nous faisions dans les pages aspx où vous pouviez avoir un alias pointant vers une page comme www.domain.com/my-great -alias pointe vers www.domain.com/alias.aspx. Je veux faire la même chose avec MVC mais je n'arrive pas à comprendre comment cela se produira dans la table de routage. Où www.domain.com/my-great-alias apparaîtrait à l'utilisateur final en tant que tel, mais pointez sur www.domain.com/alias/2C# .NET MVC Route Aliasing
Est-ce que cela a du sens pour quelqu'un d'autre que ce que je cherche? ?
// routeur
routes.MapRouteLowercase(
"Alias",
"{id}",
new
{
controller = "alias",
action = "select",
id = UrlParameter.Optional
}
);
// contrôleur Alias
public ActionResult Select()
{
return View("select");
}
Controller
// Recette
public ActionResult Select()
{
return View();
}
MVC est configuré pour la carte URL à * méthodes d'action du contrôleur * pas à d'autres URL. Votre question est un peu floue. Qu'est-ce qui est censé se passer si l'utilisateur navigue vers '/ alias/2'? Devrait-il servir la page? Devrait-il donner un 404 non trouvé ou 301 redirection? Dans le premier cas, vous pouvez mapper deux URL différentes à la même méthode d'action. Si c'est le cas, vous pouvez probablement vous débarrasser de '/ alias/2' parce que cela ne semble pas très utile. – NightOwl888
Si vous regardez cette URL http://www.motherearthnews.com/organic-gardening/vegetables/late-season-salad-crops-zb0z1701zsgre ce site est construit en utilisant MVC c'est le comportement que je veux. L'alias provient d'un CMS mais je n'arrive pas à comprendre comment le faire en utilisant simplement MVC. L'alias n'est pas un code fixe dans la source pour l'une de ses URL. – Cpurepair785