我希望能够通过以下方式调用页面:
www.mydomain.com/articles/article-name-with-hyphens
我尝试以下方法:
public class ArticlesController : Controller
{
[ActionName("article-name-with-hyphens")]
public ActionResult ArticleNameWithoutHyphens()
{
return View("~/Content/Views/Articles/ArticleNameWithoutHyphens.cshtml");
}
}
但是,我收到此消息:
视图'〜/ Content / Views / Articles / ArticleNameWithoutHyphens.cshtml' 或者找不到它的主人,或者没有视图引擎支持搜索到的 位置。搜索了以下位置: 〜/内容/查看/文章/ ArticleNameWithoutHyphens.cshtml
P.S。如果我将代码更改为常规方式:
public class ArticlesController : Controller
{
public ActionResult ArticleNameWithoutHyphens()
{
return View("~/Content/Views/Articles/ArticleNameWithoutHyphens.cshtml");
}
}
并致电:
www.mydomain.com/articles/ArticleNameWithoutHyphens
我得到了想要的页面。
我的问题在哪里?
答案 0 :(得分:0)
您是否尝试使用Route属性?
[RoutePrefix("Articles")]
public class ArticlesController : Controller
{
[Route("article-name-with-hyphens")]
public ActionResult ArticleNameWithoutHyphens()
{
return View("~/Content/Views/Articles/ArticleNameWithoutHyphens.cshtml");
}
}
因此您可以像 -
一样查询localhost/MyApp/Articles/article-name-with-hyphens
这完全适用于MVC5。