ASP.NET水平导航菜单实现

时间:2013-12-11 01:19:35

标签: javascript jquery html asp.net

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

我的问题是:

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

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

3)使用ASP而不是javascript实现权限相关菜单项是不是很容易?

3)如果要构建ASP菜单,是否会将其分解为客户端的javascript?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

1)这是你想要完成的事情。如果您有一个静态菜单,那么只需用HTML构建它。如果你有一个动态的,基于角色的菜单,那么你应该在服务器端构建它,因为它控制你的角色和认证。最后,它只是客户端的HTML。也许有一些javascript / css可以让事情发生变化。

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

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

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

3)是(和HTML)。

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

所以我认为您可能已经注意到菜单系统可能构建错误了......服务器应该根据权限向客户端提供正确的菜单项。它不应该提供通用菜单,然后自定义javascript来修改菜单...这只是额外的工作......而且令人困惑。