我正在调用有一个参数的控件。
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;
}
任何人都可以告诉我......为什么不打电话......
谢谢!
答案 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的“真实”响应。
确保您的路由符合上述规定。