Asp.Net MVC - ActionLink(可能?)特定的Href

时间:2009-08-07 00:51:34

标签: asp.net-mvc

我在主页上:

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}

我想摆脱家庭。

修改

无论我在哪个页面,我都希望链接指向:

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

3 个答案:

答案 0 :(得分:2)

我不确定我是100%问题,但看起来你正在使用默认路由和家庭控制器?如果是这种情况,那么您可能想要更改路线和/或您正在使用的控制器。

答案 1 :(得分:1)

您不需要特定路线。只需使用string HtmlHelper.RouteLink(string linkText, object routeValues)帮助:

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

答案 2 :(得分:0)

知道了。添加了新路线:

    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}) %> 

不确定我为什么需要“索引”,但它确实有用。

相关问题