在ASP.NET中使用链接和锚来切换可见性的最佳方法是什么?

在ASP.NET中使用链接和锚来切换可见性的最佳方法是什么?,asp.net,vb.net,hyperlink,anchor,visibility,Asp.net,Vb.net,Hyperlink,Anchor,Visibility,我有一个页面,用于显示大量表单,供用户填写并生成报告。每个表单都位于自己的ASP:Panel控件中,因此我可以切换表单的可见性(以便只有具有适当权限的用户才能访问他们允许访问的报表) 客户机现在请求在页面上创建一个类似“目录”的区域,该区域具有指向每个表单的超链接(这样他们就不必花时间滚动页面来查找所需的特定报告表单)。使用标准的和标记很容易做到这一点。我现在寻找的是一种方法,可以让我隐藏用户无法访问的报告链接 我最初考虑使用ASP:LinkButton控件,但我不希望通过单击链接发生任何回发(

我有一个页面,用于显示大量表单,供用户填写并生成报告。每个表单都位于自己的ASP:Panel控件中,因此我可以切换表单的可见性(以便只有具有适当权限的用户才能访问他们允许访问的报表)

客户机现在请求在页面上创建一个类似“目录”的区域,该区域具有指向每个表单的超链接(这样他们就不必花时间滚动页面来查找所需的特定报告表单)。使用标准的
标记很容易做到这一点。我现在寻找的是一种方法,可以让我隐藏用户无法访问的报告链接

我最初考虑使用ASP:LinkButton控件,但我不希望通过单击链接发生任何回发(这将是非常不必要的)。有没有其他方法可以用来实现同样的目标?我正在寻找一种方法,使我能够轻松切换相应链接的可见性,同时切换包含报表的面板的可见性(现在从代码隐藏中完成)


注意:使用VB作为语言

如果使用链接控件,则可以根据其相关面板的可见性显示或隐藏链接

Link1.Visible = Panel1.Visible
我最初考虑使用ASP:LinkButton控件,但我不希望通过单击链接发生任何回发(这将是非常不必要的)


我不同意。您所说的是每次单击链接时重新绘制大部分页面,从技术角度来看,使完整的回发变得适当。此外,当用户点击链接时,他们习惯于期望往返服务器。超链接通常就是这样做的。因此,从用户体验的角度来看,这也是合适的。

Joel:我不需要往返。页面仅绘制一次(当他们第一次进入时)。在第一次到达页面时,将绘制他们可以访问的表单的所有部分。所有的链接应该做的就是把它们沿着页面进一步放到合适的锚点上。然后普通的锚点标签就足够了。我的印象是,一次只显示一个面板。如果是这样的话,您可能希望根据请求返回服务器,而不是尝试预先呈现所有内容。@Joel:在客户改变主意之前,当他们打开一个更大的面板时,我只显示单个类别的表单。不幸的是,客户决定他希望所有能够看到的东西都能同时看到,这就导致了这个目录样式的请求。我想我最终会在这里做一个严肃的facepalm,因为我总是忘记这里只有一个普通的ASP:HyperLink control.LOL。发生在我们最好的人身上。