在MVC应用程序中找不到Http 404

时间:2014-02-13 10:54:17

标签: asp.net-mvc model-view-controller

我正在调用有一个参数的控件。

 http://localhost:49809/Import/QBData/test



[ActionName("QBData")]
        public bool getconnection(string id)
        {
            return true;
        }

......正在致电

但是控制之下没有打电话:总是给出:Http 404 Not found ...

我用过这个:

 http://localhost:49809/Import/Test/checking




 [ActionName("Test")]
        public bool Testing(string id)
        {
            return true;
        }

任何人都可以告诉我......为什么不打电话......

谢谢!

2 个答案:

答案 0 :(得分:0)

您需要一条与您的行动相匹配的路线 - 这应该与两者相匹配。

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Import", action = "QBData", id = UrlParameter.Optional },
            namespaces: new string[1] { "Your.Namespace.Controllers" }
        );

另外,为什么不将你的动作方法命名为你想要的而不是使用动作名称属性?

答案 1 :(得分:0)

我尝试使用名为Import的控制器创建一个MVC项目,并根据上面的代码创建两个操作方法。

    [ActionName("QBData")]
    public bool getconnection(string id)
    {
        return true;
    }

    [ActionName("Test")]
    public bool Testing(string id)
    {
        return true;
    }

在RouteConfig.cs文件中,我有以下代码

    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 }
        );
    }

对我来说一切正常,我在浏览器中获得两个URL的“真实”响应。

确保您的路由符合上述规定。