我在两个不同的位置有两个名为CommonController.cs
的MVC控制器。以下是相对于根的两个路径:
/Controllers/CommonController.cs
/CDS/Controllers/CommonController.cs
当我尝试对第一个公共控制器进行AJAX
调用时,这会出现问题。 ajax调用中的url如下所示:
$.ajax({
cache: false,
method: 'GET',
dataType: 'json',
url: ROOT_URL + 'Common/GetCountries',
data: { },
//more code
有没有办法访问这个控制器并仍然将同一个命名控制器保存在不同的位置,还是我必须重命名其中一个控制器?
答案 0 :(得分:3)
您可以在RouteConfig.cs
课程中手动添加控制器路径。如果您声明两个控制器,那么它很容易找到。
您可以在RouteConfig.cs
中进行一些更改,如下所示。我希望它对你有帮助。
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Country",
url: "/Controllers/Index",
defaults: new { controller = "CommonController", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "State",
url: "/CDS/Controllers/Details/5",
defaults: new { controller = "CommonController", action = "Details", id = UrlParameter.Optional }
);
}
}