【问题标题】:Site Navigation in ASP.NET MVC2ASP.NET MVC2 中的站点导航
【发布时间】:2010-10-13 07:56:59
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: asp.net-mvc-2


    【解决方案1】:

    如果侧面的链接是静态的,那么可以将 then 直接放在母版页中。如果它们因您正在查看的页面而有所不同,您应该考虑制作一个模型来表示左侧导航,可能带有一组链接,这些链接由适当的控制器操作填充并传递给视图。

    就绝对 URL 而言,您应该使用 Url.Action 方法,该方法将根据 RouteTable 将控制器操作转换为您的 URL。如果您更新路由,您的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多