2012-04-23 10 views
0

アクション呼び出し名がこの呼び出しで呼び出されないのはなぜですか?それはちょうど生産Url.actionを取得してアクションメソッド名を生成する方法

@Url.Action("Index","NewStore") 

...私はそれが最後に/インデックスを生成する必要が

localhost/TemplateUI/en-CA/Atomic/Wassabi/Store 

....

Url.Actionヘルパーはグローバルであなたルート登録を使用しているためだ

答えて

1

.asax。そしてあなたがアクション名としてIndexを渡しているので、私はあなたのルート登録でそれがaction="Index"のデフォルト値を指定していると思いますので省略します。例えば

次のデフォルトルートがある場合:controller = "Home"action = "Index"制約が//Home両方が絶対的に同等のURLこととHomeコントローラのIndexアクションを呼び出す指定されているので、

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

    routes.MapRoute(
     "Default", 
     "{controller}/{action}", 
     new { controller = "Home", action = "Index" } 
    ); 
} 

を。

したがって、いくつかのヘルパーでURLを作成しようとすると同じことが起こります。これはあなたのルートを使用します。

URLにアクション名が必要な場合は、ルート定義でactionという制約が削除されていることを確認してください。

関連する問題