使元素无法操纵可见性

Making Elements not possible to manipulate Visibility

我有一个具有多个用户权限的 ASP-WebForm-Application。

在 CodeBehind 中,如果未提供特定权限,我将隐藏一些元素。但是使用 F12,用户可以操纵代码以获得一些他不允许的功能。

是否有可能从 CodeBehind 中隐藏元素,使它们不通过代码操作可见?像在 CodeBehind 中完全摧毁它们?

例如基于列表元素的导航,我想在其中隐藏一些链接:

<ul>
    <li>
       <a>link 1<a/>
    </li>
    <li>
       <a>link 2<a/>
    </li>
    <li>
       <a>link 3<a/> // Has to be hidden by some conditions
    </li>
 </ul>

希望有人能帮助我!

您可以使用 asp:PlaceHolderasp:Panel 扭曲您的内容并使其可见或不可见。

您也可以在元素上添加 runat="server" Visible="false" 并操纵可见元素。

示例:

<ul>
    <li>
       <a>link 1<a/>
    </li>
    <li>
       <a>link 2<a/>
    </li>
    <li runat="server" id="pnlToHide">
       <a>link 3<a/> // Has to be hidden by some conditions
    </li>
 </ul>

<ul>
    <li>
       <a>link 1<a/>
    </li>
    <li>
       <a>link 2<a/>
    </li>
    <asp:PlaceHolder runat="server" ID="pnlToHide2">
    <li>
       <a>link 3<a/> // Has to be hidden by some conditions
    </li>
    </asp:PlaceHolder>
 </ul>

以及隐藏代码

pnlToHide.Visible = false;