ASP.NET MVC-route anzeigen

Bitte helfen Sie mir, meine richtige ASP.NET MVC-Route Anzeigen.

Habe ich einen Menüpunkt mit einem ActionLink:

<li>@Html.ActionLink("Articles", "List", "Article")</li>

Auf der Home-Seite sieht es so aus:
localhost/Article das ist OK.

Sondern auf den konkreten Artikel Seite mit der URL localhost/Article/List/11 meine Menü-link ist der gleiche:
localhost/Article/List/11

Aber ich brauche localhost/Article

Meine route anzeigen-code ist wie folgt:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Article",
        url: "Article/{action}/{id}",
        defaults: new { controller = "Article", action = "List", id = UrlParameter.Optional }
    );

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}

Hier ist controller-code:

public ActionResult List(int? id)
    {
        ArticlesDataManager artMgr = new ArticlesDataManager();
        ArticleViewModel art = new ArticleViewModel();

        art.Articles = artMgr.GetLastArticles();

        art.Article = (id == null) ? artMgr.GetLast() : artMgr.GetArticle((int)id);

        ViewData.Model = art;

        return View();
    }
  • Sie benötigen die id in der url? Könnte Sie nehmen, dass aus dem Artikel MapRoute. Auch Sie könnten versuchen, Einstellung der RouteValueDictionary gekennzeichnet durch Shyju zu new { id = null } anstatt nur neue {}
  • Ja, ich brauche die Id in meiner url. Artikel/Liste/id -Karte Artikel-Liste und ausgewählte Artikel. Artikel/list - zeigt eine Liste der Artikel und der Letzte Artikel nach Datum. Ich weiß, dass ich das beheben kann mein problem durch das hinzufügen neuer Funktionen wie "Ansicht". Article/view/id. Aber ich bin daran interessiert, verwenden Sie nur eine Aktion:)
  • Ist die int Nullable int in Ihrem controller-Aktion, d.h. int? id. Vielleicht könnte dies auch einen Effekt, kombiniert mit der new { id = null } des ActionLink () - Methode
  • Ja, ich adde meine controller-code in der post
Schreibe einen Kommentar