ASP.NET MVC2中的站点导航

时间:2010-10-12 23:52:32

标签: asp.net-mvc-2

我是MVC的新手,并使用该模式开发基本网站。我正在尝试实现在整个站点中保持一致的左侧导航...它基本上是几个用CSS设置的样式并使用jquery来获得一些视觉效果。关于最佳设计实践,我有几个问题:

  1. 最好是直接在我正在使用的母版页中包含导航的html吗?或者有更好的方法来适应MVC模式吗?

  2. 如果最好直接在母版页中包含html,那么实现绝对URL的最佳方法是什么?例如,要转到about页面,它将始终是mysite.com/about/,但MVC不支持我在ASP.NET表单中习惯的〜。我不想明确键入域名,因为这会搞乱我的开发环境(我的域名与生产环境不同)。

  3. 谢谢!

1 个答案:

答案 0 :(得分:1)

如果侧面的链接是静态的,那么将其直接放入母版页就可以了。如果它们根据您正在查看的页面而有所不同,则应考虑使用模型来表示左侧导航,可能还有一组链接,这些链接由相应的控制器操作填充并传递给视图。

就绝对网址而言,您应该使用Url.Action方法,该方法会根据RouteTable将控制器操作转换为Url。如果您更新路由,则您的网址不会中断:

<a href="<%= Url.Action("Index", "About")">Home</a>

将链接到/About(假设您在网站的根目录中运行,并且您正在使用默认路由。

<a href="<%= Url.Action("Post", "Blog", new { Id = 5 } )">Read more</a>

将带您到/Blog/Post/5