MapRoute (Asp.Net MVC 2.0 .NET 4.0) - PullRequest
       31

MapRoute (Asp.Net MVC 2.0 .NET 4.0)

0 голосов
/ 26 августа 2010

Есть ли возможность создать маршрут маршрута, который бы всегда использовал один метод, и нет необходимости указывать его в адресе?

Я имею в виду, что у меня есть контроллер с одним методом (индекс), и он отображает элементы в зависимости от аргумента методов.

public ActionResult Index(string TabName)
    {
        var tab = (from t in BlogDB.Tabs
                   where t.TabName == TabName
                   select t).SingleOrDefault();

        ViewData.Model =(Tab)tab;
        return View();
    }

и я хочу, чтобы я мог отображать элементы, помещая адрес "www.example.com/Tabs/TabName" без "/ Index /" между вкладками и TabName. Я пробовал:

    routes.MapRoute(
        "Tabs1",
        "Tabs/{TabName}",
        new { controller = "Tabs", action = "Index", TabName = UrlParameter.Optional }
    );

Но это не работает.

1 Ответ

1 голос
/ 26 августа 2010

у вас еще есть маршрут по умолчанию? и если да, то определено ли оно до этого?

Ваша проблема в том, что asp.net mvc пытается найти контроллер вкладок и действие Tabname.

Поместите этот маршрут перед маршрутом по умолчанию {controller} / {action}

...