我需要页面名称中的破折号。我们的愿景
我是MVC和C#的新手,所以我可能会遇到所有这些错误。
这是我的控制器:
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
//
// GET: /our-vision/
public ActionResult ourVision()
{
return View();
}
}
在我看来,我有Views / Home / ourVision.cshtml。
当我编译并转到
http://localhost/ourVision
时,它可以工作,但是当我转到http://localhost/our-vision
时,则不能。这是我的路线:
routes.MapRoute(
"Default", // Route name
"{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
最佳答案
为此,您需要做一些事情。
首先,要实现our-Vision
,您需要为操作方法赋予ActionName
属性,如下所示:
[ActionName("our-Vision")]
public ActionResult ourVision()
接下来,您必须将
ourVision.cshtml
视图重命名为our-Vision.cshtml
最后,无论何时使用
Url.Action
或ActionLink
,都需要使用our-Vision
而不是vision
,如下所示:Url.Action("our-Vision", "Home");
关于c# - 带有破折号的Razor文件名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15683233/