以下のようなデフォルトのルーティングがあります。
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..???
必要に応じて詳細をお知らせします。配送に影響しますので、ご協力ください。