C#MVC中的两个GET函数

C#MVC中的两个GET函数,c#,asp.net-mvc,model-view-controller,server,C#,Asp.net Mvc,Model View Controller,Server,使用类似注释的 namespace EmployeeApp { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapR

使用类似注释的

 namespace EmployeeApp
 {
    public class RouteConfig
    {
          public static void RegisterRoutes(RouteCollection routes)
          {
                    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
                    routes.MapRoute(
                        name: "Default",
                        url: "{controller}/{action}/{id}",
                        defaults: new { action = "Index", id=UrlParameter.Optional }
                    );
           }
     }
 }

正如其他人所说,在没有看到您的路线的情况下,可能很难猜测,但假设是这样的:

[RoutePrefix("api")]
只要方法参数是小写的,可选的
id
参数就应该工作

如果要将该操作用作路由的一部分,请使用该操作,将其置于默认路由之上:

routes.MapHttpRoute(
    name: "API Default",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);

显示您的路线。默认情况下,
id
而不是
id
如果有效,我们需要查看您的路线以便提供帮助。。这可能是一个查询字符串问题。该路由看起来像MVC路由的默认值,而不是web API。我对这件事真的很陌生。我可能把我的项目安排错了。那么,在MVC中我将如何做到这一点?
[RoutePrefix("api")]
routes.MapHttpRoute(
    name: "API Default",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);
routes.MapHttpRoute(
    name: "Api By Action",
    routeTemplate: "api/{controller}/{action}/{id}",
    defaults: new { id = RouteParameter.Optional }
);