无法路由到行动方法

时间:2017-10-24 22:26:15

标签: asp.net asp.net-mvc-4 c#-4.0

在我看来,我有一个像以下

的标签
<a href="@Url.Action("LaunchApp", "ClinicalDocument")" class="btn btn-dark inline" title="Request CCDA">CCDA</a>

当我点击链接时,我收到404错误。此操作位于我添加到项目中的新控制器中。

  '/'应用程序中的服务器错误。无法找到该资源。说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。

     

请求的网址:/ ClinicalDocument / LaunchApp

这是我的控制器代码

namespace PatientPortal.Controllers
{
    //[Authorize]
    //[InitializeSimpleMembership]
    //[SessionTimeoutFilter]
    public class ClinicalDocumentController : Controller
    {
        //
        // GET: /ClinicalDocument/

        public ActionResult Index()
        {
            return View();
        }
        [HttpGet]
        public ActionResult LaunchApp()
        {
            QuickLaunch model = new QuickLaunch();

            return Redirect(model.Url);

        }
    }
}

这是我的Route.config

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

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            //defaults: new {  controller = "Account", action = "Login", id = UrlParameter.Optional}
        );
    }
}

我不确定为什么它会抛出404错误。一切似乎都很好看。请帮忙。

更新

我在visual studio的调试输出中看到以下内容

  

抛出异常:System.Web.Mvc.dll中的'System.Web.HttpException'抛出异常:System.Web.dll中的'System.Web.HttpException'

点击链接后

1 个答案:

答案 0 :(得分:0)

问题是构建路径。它被设置为虚拟目录S:/。添加新控制器后,我将构建路径更改为bin /。这解决了这个问题。