【问题标题】:ASP.NET horizontal navigation menu implementationASP.NET 水平导航菜单实现
【发布时间】:2013-12-11 10:26:13
【问题描述】:

我是一名 C# 应用程序开发人员,致力于我的第一个 ASP 项目。我继承的 ASP.NET 项目使用指向站点顶部的标准水平导航菜单进行导航。导航菜单上的项目会根据登录用户的权限而变化。目前,为此,ASP c# 代码将 javascript 代码添加到调用“sothink”javascript 库中的方法的主页面,该库将菜单项添加到“sothink”导航菜单。

我的问题是:

1) 如果 ASP 已经提供了库来执行此操作,为什么有人会使用 javascript 在 ASP.NET 应用程序中实现导航菜单?

2) javascript 菜单是否比 ASP 菜单实现更快捷/更流畅?

3) 与 javascript 相比,使用 ASP 实现依赖于权限的菜单项不是那么容易吗?

3) 如果要构建一个 ASP 菜单,它会被分解为客户端的 javascript 吗?

感谢您的帮助!

【问题讨论】:

    标签: javascript jquery html asp.net


    【解决方案1】:

    1) 这取决于您要完成的工作。如果您有一个静态菜单,那么只需在 HTML 中构建它。如果您有一个动态的、基于角色的菜单,那么您应该在服务器端构建它,因为它控制您的角色和身份验证。最后,它只是对客户端的 HTML。也许还有一些 javascript/css 可以让事情四处移动。

    您所指的那些 ASP.NET 库只是您通过代码隐藏方法轻松地将 HTML/javascript 传递到浏览器的方法。你不能只用普通的 javascript 和 HTML 做任何事情......因为这是最终提供给客户端的内容。

    2) 是一样的。 ASP.NET 菜单呈现为 HTML/javascript。这只是一种让您从代码隐藏呈现给客户端之前轻松控制它的方法。话虽这么说,这些控制只会做这么多。如果您真的想在客户端自定义菜单的功能,您可能需要在服务器控件之上自定义 JS。

    3) 权限由您的服务器端逻辑控制。因此...这应该在 ASP.NET 代码隐藏中完成。

    3) 是(和 HTML)。

    ASP.NET 服务器控件使您可以轻松访问动态配置页面的元素呈现给客户端之前。页面交付后,ASP.NET 就完成了(忽略任何 AJAX 类型的功能)。 Javascript/css 必须接管来控制菜单(无论是您生成的 JS 还是某些服务器控件为您完成的)。

    所以我想你可能已经注意到菜单系统的构建可能不正确......服务器应该根据他们的权限将正确的菜单项传递给客户端。它不应该提供一个通用菜单,然后自定义 javascript 来修改菜单......这只是额外的工作......而且令人困惑。

    【讨论】:

      猜你喜欢
      • 2014-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      相关资源
      最近更新 更多