ASP.NET MVC で、アクションを指定せずに Html.helper を使用して URL を生成する(したがって、既定のアクションにルーティングする) 方法はありますか?
基本的に、{lang}/controller を出力する URL が必要です。つまり: ~/EN/Home
しかし、MVC のすべての html-helper は、特定のコントローラー アクションを指定することを要求しているようです。
<a href="@Url.Action(null, @Resources.Home">Click here</a>
単なる EN/Home の代わりに EN/Home/PartialViewName を出力します.... (部分ビューで生成しています)
更新 1:
どうやら、「インデックス」アクションは生成された URL に表示されません。
@Html.ActionLink("Click here", "Index", @Resources.Home)
出力 /EN/ホーム
ただし、パラメーターを追加する場合、残念ながら問題は同じままです。次のいずれも正しい URL を出力しません (つまり、EN/Home/3)。
@Html.ActionLink("Click here", "Index", @Resources.Home, new { id = home.Id }, null)
<a href="@Url.Action(null, @Resources.Home)/@home.Id">Click here</a>
更新 2:
次のように今のところ解決しました:
@Html.ActionLink("Click here", "Index", string.Format(Resources.Home + "/" + home.Id))
しかし、それはこの問題の唯一の/正しい解決策ではありませんか?