【发布时间】:2016-07-21 15:27:00
【问题描述】:
我刚开始使用 .NET,并且正在构建一个测试应用程序。我目前使用DefaultController 和Index() 操作方法设置主页。这按预期工作,主页是简单的 www.domain.com。
我使用Terms() 和Privacy() 操作方法在同一个DefaultController 下创建了2 个新页面(条款和隐私)。
我希望能够使用 URL 为 www.domain.com/terms 和 www.domain.com/privacy 浏览这些内容。
当我使用 <li>@Html.ActionLink("Terms of Service", "Terms", "Default")</li> 时,它可以工作,但它会将我带到 www.domain.com/Default/privacy 的 URL。
我应该为这些页面中的每一个创建单独的控制器,还是我错误地使用了@html.ActionLink 助手?我以前使用过<li><a href="~/privacy">Privacy Policy</a></li>,但我知道这不是最佳做法?
另外,有没有办法强制链接为小写?
我的控制器代码:
public class DefaultController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Terms()
{
return View();
}
public ActionResult Privacy()
{
return View();
}
}
【问题讨论】:
-
如果您将这些页面放在
DefaultController中并且您的助手看起来正确的操作链接,则不需要另一个控制器 -
你能发布你的控制器代码吗?
-
上面添加了控制器代码。目前都是非常基础的
-
所以当您将鼠标悬停在您的
Terms链接上时,您会在左下角看到www.domain.com/Default/Privacy? -
正确。我希望看到 www.domain.com/Privacy 理想。
标签: asp.net-mvc html-helper html.actionlink