我从.NET MVC框架开始。我在MVC5中使用4.5。
我有一个控制器“APropos”,在“APropos”等文件夹中有一个视图。它很棒!
但我希望我的网址看起来像“site.com/A-Propos”而不是“site.com/APropos”。
我在Controller中阅读了一些关于“RoutePrefix”的帖子:
[RoutePrefix("a-propos")]
public class AProposController : Controller
{
public ActionResult Index()
{
return View();
}
}
我还将视图文件夹重命名为“a-propos”但它不起作用...(找不到ressource)
我确信有人知道解决方案!
感谢您的帮助: - )
答案 0 :(得分:1)
感谢您的帮助! 它适用于操作,但对于Controller,它不起作用。
我指定了像msdn这样的RouteArea:
[RouteArea("APropos", AreaPrefix = "A-Propos")]
public class AProposController : Controller
{
public ActionResult Index()
{
return View();
}
}
网址始终为“monSite.com/apropos”而非“monSite.com/a-propos”... 我还要做点什么吗?
谢谢!
编辑:
我找到了解决方案!
在Route属性上,我指定了默认操作名称:
[RoutePrefix("A-Propos")]
[Route("{action=index}")]
public class AProposController : Controller
{
public ActionResult Index()
{
return View();
}
}
感谢您的帮助。
祝你好运
答案 1 :(得分:-1)
正如msdn所述,您必须像这样设置自定义路由前缀
[RoutePrefix("APropos", AreaPrefix = "A-Propos")]
public class AProposController : Controller
{
public ActionResult Index()
{
return View();
}
}
可以对控制器方法执行类似操作,因此您可以设置PretAPorter()
方法的名称,如下所示:
[Route("PretAPorter", Name="Pret-A-Porter")]
public ActionResult PretAPorter()
{
...
(显然我没有包含ê
和à
)