我可以使用
[ActionName("My-Action-Name")]
public ActionResult MyActionName()
{
return View();
}
但是我在更改 Controller 的名称时遇到了问题。 是否有一些注释可用于在 MVC 4 中分隔 Controller 名称连字符 (-)?
有点像这样:
[ControllerName("My-Controller-Name")]
public class MyControllerName : Controller
{
}
最佳答案
Here是一个很好的答案:
添加自定义路由处理程序(在替换部分选择您要如何处理连字符):
public class HyphenatedRouteHandler : MvcRouteHandler
{
protected override IHttpHandler GetHttpHandler(RequestContext requestContext)
{
requestContext.RouteData.Values["controller"] = requestContext.RouteData.Values["controller"].ToString().Replace("-", "");
requestContext.RouteData.Values["action"] = requestContext.RouteData.Values["action"].ToString().Replace("-", "");
return base.GetHttpHandler(requestContext);
}
}
并在您的 RouteConfig
中使用它
routes.Add(
new Route("{controller}/{action}/{id}",
new RouteValueDictionary(
new { controller = "Home", action = "Index", id = UrlParameter.Optional }),
new HyphenatedRouteHandler())
);
关于c# - 如何使 Controller 名称连字符 "-"分隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26176087/