是否可以在 MVC 中将路由添加到视图
Is it possible to add a Route to a View in MVC
我对这一切有点陌生。
我知道您可以在 MVC 中为 API 控制器指定路由。
我想做的是指定一个视图的路由。
因此,我的视图名为 ImageUploader
并保存在名为 Service
的文件夹下
这是我的控制器:
[Route("Sync")]
public ActionResult ImageUploader()
{
return View();
}
当我在浏览器中输入时:
http://My _Domain/Sync
它returns
resource not found.
所以,我想我会把
[Route("")]
public class ServiceController : Controller
在我的 class 控制器之上,但这给了我同样的错误。
我可以使用路由标签轻松地做到这一点吗?
这是我的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();
}
查看 Attribute Routing in ASP.NET MVC 5
要启用属性路由,请在配置期间调用 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 }
);
}
}
如果需要,在方法属性上使用波浪号 (~) 覆盖路由前缀:
public class ServiceController : Controller {
//eg GET /Sync
[Route("~/Sync")]
public ActionResult ImageUploader() {
return View();
}
}
我对这一切有点陌生。
我知道您可以在 MVC 中为 API 控制器指定路由。
我想做的是指定一个视图的路由。
因此,我的视图名为 ImageUploader
并保存在名为 Service
这是我的控制器:
[Route("Sync")]
public ActionResult ImageUploader()
{
return View();
}
当我在浏览器中输入时:
http://My _Domain/Sync
它returns
resource not found.
所以,我想我会把
[Route("")]
public class ServiceController : Controller
在我的 class 控制器之上,但这给了我同样的错误。
我可以使用路由标签轻松地做到这一点吗?
这是我的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();
}
查看 Attribute Routing in ASP.NET MVC 5
要启用属性路由,请在配置期间调用 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 }
);
}
}
如果需要,在方法属性上使用波浪号 (~) 覆盖路由前缀:
public class ServiceController : Controller {
//eg GET /Sync
[Route("~/Sync")]
public ActionResult ImageUploader() {
return View();
}
}