我对这一切都有点新鲜。
我知道您可以在MVC中为API控制器指定路由。
我想要做的是指定一个到View的路径。
因此,我的视图名为ImageUploader
,并保存在名为Service
这是我的控制者:
[Route("Sync")]
public ActionResult ImageUploader()
{
return View();
}
当我在浏览器中输入时:
http://My _Domain/Sync
它返回
找不到资源。
所以,我以为我会把
[Route("")]
public class ServiceController : Controller
在我的类控制器之上,但这给了我同样的错误。
我可以使用Route标签轻松完成此操作吗?
以下是我RouteConfig
的内容:
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 }
);
routes.MapMvcAttributeRoutes();
}
答案 0 :(得分:2)
查看Attribute Routing in ASP.NET MVC 5
<强> Enabling Attribute Routing 强>
要启用属性路由,请在配置期间调用MapMvcAttributeRoutes
。
public class RouteConfig {
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
如果需要,在method属性上使用波浪号(〜)覆盖路由前缀:
public class ServiceController : Controller {
//eg GET /Sync
[Route("~/Sync")]
public ActionResult ImageUploader() {
return View();
}
}