使用Ajax.ActionLink()在IIS中部署后不会触发Action方法

时间:2013-02-22 21:02:09

标签: asp.net-mvc-3 routing actionresult

我有一个默认路由如下:

public static void RegisterRoutes(RouteCollection路由)         {             routes.IgnoreRoute( “{}资源个.axd / {*} PATHINFO”);

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

    }

我的索引操作方法返回要查看的模型列表。在索引视图中我有这样的事情:

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

但是,在IIS中部署后,“下载”操作方法不会被触发并获得404 PAGE NOT FOUND错误。

如果我在Html.ActionLink中将操作方法​​指定为“索引”,那么它的工作方式如下:

  

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

以上代码正常工作,因为它在IIS中部署后采用默认路由。我试图改变Global.asax中的路线,但未能得到解决方案。

我需要的是,我想要触发第二个动作方法,而不是。

我的第一个行动方法是:

 public ActionResult Index() {}

我的第二个行动方法是:

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

如果需要,会为您提供更多详细信息。请辅助,因为它会影响我的交付。

0 个答案:

没有答案