【问题标题】:What is the best way to use links and anchors to toggle visibility in ASP.NET?在 ASP.NET 中使用链接和锚点切换可见性的最佳方法是什么?
【发布时间】:2010-10-11 00:54:41
【问题描述】:

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

客户现在已请求页面上的“目录”区域,其中包含指向每个表格的超链接(这样他们就不必花时间滚动页面来找到他们想要的特定报告表格) .这很容易使用标准的<a href="#Area"><a id="Area"> 标签来实现。我现在正在寻找的是一种允许我隐藏用户无权访问的报告链接的方法。

我首先考虑使用 ASP:LinkBut​​ton 控件,但我不希望通过单击链接发生任何回发(这将是非常不必要的)。我可以使用其他方法来实现相同的目标吗?我正在寻找可以让我在切换包含报告表单的面板的可见性的同时轻松切换相应链接的可见性的东西(现在从代码隐藏中完成)。

注意:使用VB作为语言

【问题讨论】:

    标签: asp.net vb.net hyperlink anchor visibility


    【解决方案1】:

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

    Link1.Visible = Panel1.Visible
    

    【讨论】:

    • 我想我最终会在这里做一个严肃的表情,因为我经常忘记只有一个常规的 ASP:HyperLink 控件。
    • 哈哈。发生在我们最好的人身上。
    【解决方案2】:

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

    我不同意。您说的是每次单击链接时都会重绘大部分页面,从技术角度来看,进行完整的回发是合适的。此外,用户习惯于在单击链接时期望往返于服务器。这就是超链接通常所做的。因此,从用户体验的角度来看,它也是合适的。

    【讨论】:

    • 乔尔:我不需要往返。该页面仅被绘制一次(当他们第一次进入时)。在页面第一次到达时,他们可以访问的所有表单片段都被绘制出来。所有链接应该做的就是将它们沿着页面进一步拖放到适当的锚点。
    • 那么普通的锚标签就足够了。我的印象是一次只显示一个面板。如果是这种情况,您可能希望根据请求返回服务器,而不是尝试预先渲染所有内容。
    • @Joel:在客户改变主意之前,当他们打开一个更大的面板时,我只显示一个类别的表格。不幸的是,客户决定他希望能够看到的所有内容都可以同时看到,这导致了这个目录样式的请求。
    猜你喜欢
    • 2014-10-20
    • 2014-12-05
    • 2010-09-20
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    相关资源
    最近更新 更多