我正在开发一个ASP.Net MVC网站,其预期的路由行为就像Facebook
当用户未登录并访问该网站时,他会显示欢迎页面
www.domain.com/
如果他登录我们希望他访问仍在的网站内容
www.domain.com/
我应该如何定义路线?
编辑:按照说明澄清更多内容
如果用户已登录,我想提供不同的Index操作,如果不是,则我想提供不同的。
无效的方法
[Authorize]
public ActionResult Index()
{
return View();
}
[AllowAnonymous]
public ActionResult Index()
{
return View();
}
因此,使用两个不同的索引操作,默认路由
routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }
将按我的意愿执行。
答案 0 :(得分:0)
通过查看我发现的MSDN Documentation,我可以在构造函数中传递我想要的View的名称。为了完整起见,这是我的实现。
public ActionResult Index()
{
if (User.Identity.IsAuthenticated)
{
return View();
}
else
{
return View("Welcome");
}
}