Question

Je viens de commencer à utiliser AttributeRouting avec mon application ASP.NET MVC3. J'ai commencé avec les contrôleurs -no- du tout. (Nouvelle application vide de MVC3)

Je me suis alors fait une région. (Appelé: Documentation)

I On ajoute ensuite une unité de commande (appelé: DocumentationController)

Je l'ai alors fait cela ..

[RouteArea("Documentation")]
public class DocumentationController : Controller
{
    [GET("Index")]
    public ActionResult Index()
    {
        return View();
    }
}

Et l'itinéraire suivant, travaux: /documentation/index

mais comment puis-je faire ces deux routes, le travail?

1 - / <- (route par défaut / non itinéraire spécifié) 2 - /documentation <-. Pas de section d'itinéraires 'index' ajouté

Peut-on faire avec AttributeRouting ?

MISE À JOUR:

Je sais comment faire avec la structure par défaut ASP.NET MVC3, etc. Ce que je suis en train de faire est de comprendre cela par AttributeRouting à la place.

Était-ce utile?

La solution

Je suppose que vous voulez que le « / » et « / documentation » à la carte à DocumentationController.Index, oui? Si oui, faites ceci:

[RouteArea("Documentation")]
public class DocumentationController : Controller
{
    [GET("Index", Order = 1)] // will handle "/documentation/index"
    [GET("")] // will handle "/documentation"
    [GET("", IsAbsoluteUrl = true)] // will handle "/"
    public ActionResult Index()
    {
        return View();
    }
}

Un peu d'explication:

  • GET ( « Index ») a ordre = 1 pour le marquer comme la principale voie pour l'action. En raison de la façon dont fonctionne la réflexion, il n'y a aucun moyen de déterminer l'ordre des attributs sur une action sans utiliser la propriété de la commande. Voir ici
  • Vous pouvez avoir plusieurs itinéraires cartographiés à une get action unique. Voir ici
  • La propriété IsAbsoluteUrl vous permet de remplacer les préfixes d'URL ajoutés par les attributs RouteArea et RoutePrefix. Donc, cette route finale correspondra à des demandes de racine. Voir ici

Hope this helps. Si mon hypothèse initiale de ce que vous essayez de faire est incorrecte, s'il vous plaît commentaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top