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