1

以下のようなデフォルトのルーティングがあります。

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

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

    }

私の Index Action メソッドは、表示するモデルのリストを返しています。そして、インデックスビューには次のようなものがあります:

@Html.ActionLink(article.Title,"Download",new { id = "C:\\Files\file1.txt"},null);

しかし、IIS にデプロイした後、「ダウンロード」アクション メソッドが起動されず、404 PAGE NOT FOUND エラーが発生します。

Html.ActionLinkでアクションメソッドを「Index」として指定している場合、次のように機能します:

@Html.ActionLink(article.Title,"Index",new { id = "C:\Files\file1.txt"},null);

上記のコードは、IIS にデプロイした後に既定のルートを使用しているため、機能しています。Global.asax でルートを変更しようとしましたが、解決策が得られませんでした。

ここで必要なのは、2 番目のアクション メソッドを起動することですが、そうではありません。

私の最初のアクションメソッドは次のとおりです。

 public ActionResult Index() {}

私の2番目のアクションメソッドは次のとおりです。

  public ActionResult Download(string loc) {}    //This is not getting fired..???

必要に応じて詳細をお知らせします。配送に影響しますので、ご協力ください。

4

0 に答える 0