使元素无法操纵可见性
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:PlaceHolder
或 asp: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;
我有一个具有多个用户权限的 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:PlaceHolder
或 asp: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;