2009-08-07 7 views
0

具体的な私は、ホームページに午前:Asp.Net MVC - ActionLinkの(たぶん?)Hrefの

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} 
+1

私は100%の質問に従いますが、デフォルトのルートとホームコントローラを使用しているようですか?これが当てはまる場合は、ルートと使用しているコントローラーを変更する必要があります。 – YetAnotherDeveloper

+0

@YetAnotherDeveloper - 正しい方向に私を指しているルートを見ているので、これを答えとして投稿してください。ありがとう! – Martin

答えて

2

ではなく、私が質問を100%に従っていますが、デフォルトルートとホームコントローラを使用しているように見えることを確認?これが当てはまる場合は、ルートと使用しているコントローラーを変更する必要があります。

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

ない私は、 "インデックス" を必要とするが、それが動作する理由を確認してください。

1

特定の経路は必要ありません。ただ、string HtmlHelper.RouteLink(string linkText, object routeValues)ヘルパーを使用します。

<%= Html.RouteLink(cat.cat_name, 
    new { controller = "Site", action = "Index", id = cat.cat_name }) %> 
関連する問題