Asp.Net MVC - ActionLink (Может быть?) Конкретный Href - PullRequest
0 голосов
/ 07 августа 2009

Я на главной странице:

http://localhost/

http://localhost/Home (yeah, this one too, though I don't like it)

У меня есть цикл foreach, проходящий по моим категориям. Я хочу, чтобы Html.ActionLink указывал на:

http://localhost/site/{category-name}

У меня сейчас есть:

Html.ActionLink(cat.cat_name, "site", "", new { id = cat.cat_name}, null)

Это указывает на:

http://localhost/Home/site/{cat_name}

Я хочу избавиться от Дома.

EDIT

Не важно, на какой странице я нахожусь, я хочу, чтобы ссылка указывала на:

    http://localhost/site/{category-name}

Ответы [ 3 ]

2 голосов
/ 07 августа 2009

Не уверен, что я отвечаю на вопрос 100%, но похоже, что вы используете маршрут по умолчанию и домашний контроллер? если это так, то вы можете изменить свой маршрут и / или контроллер, который вы используете.

1 голос
/ 07 августа 2009

Вам не нужен конкретный маршрут. Просто используйте string HtmlHelper.RouteLink(string linkText, object routeValues) помощник:

<%= Html.RouteLink(cat.cat_name,
    new { controller = "Site", action = "Index", id = cat.cat_name }) %>
0 голосов
/ 07 августа 2009

Понял. Добавлен новый маршрут:

    routes.MapRoute(
        "site",                                              // Route name
        "site/{id}",                           // URL with parameters
        new { controller = "Site", action = "Index", id = "" }  // Parameter defaults
    );

ActionLink:

<%= Html.ActionLink(cat.cat_name, "index", new {controller = "Site", action = "index", id = cat.cat_name}) %> 

Не уверен, зачем мне нужен "индекс", но он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...