在代码隐藏中使用vb.net在表中隐藏tr或td

时间:2014-01-19 07:44:09

标签: asp.net vb.net

在我的母版页中,我有用户链接,授权也不同,例如管理员和普通用户。

彼此之间的链接,我可以根据授权状态隐藏超链接,但问题是当我有3个链接时,管理员的第二个链接将隐藏当用户是常规并且链接位置为空时如123 1 3。

所以我有一个想法在一个tr中使用表格的每个链接,但是我不能隐藏td或tr,因为Visible不在属性中。

任何帮助? 谢谢

3 个答案:

答案 0 :(得分:7)

根据how to hide a having asp.net control

  

您可以将ID提供给要隐藏/显示的TD或TR   使用runat =“server”,你也可以把那个tr / td放在里面   div标签并为该div标签提供id以及runat = server属性   之后你可以用语法隐藏/显示div。

     

<pre>

<tr id="trhide" runat="server"> </tr>

</pre> 
     

代码背后写

trhide.visible=true/false

答案 1 :(得分:2)

在母版页VB代码后面添加一个公共过程:然后从你的aspx页面调用公共集。

'======================================================================================================
    'Set Tab No invisible
    '======================================================================================================
    Public Sub setTabNumberLabel(visible As Int16)
        If visible = 0 Then
            td_page.Visible = False
        Else
            td_page.Visible = True
        End If
    End Sub

主aspx将是:

   <table style="width:100%">
        <!--<tr style="background-color:#565656;">-->
        <tr>
            <td style="width:15%;text-align:left;vertical-align:bottom;padding-left:20px;">Stategic Energy Assessment ( <asp:Label ID="lbl_year_ended" runat="server" /> )</td>
            <td style="text-align:center;vertical-align:bottom;"><asp:Label ID="lbl_utility_name_and_id" runat="server" /></td>
            <td id="td_page" runat="server" style="width:15%;text-align:right;vertical-align:bottom;padding-right:20px;">Tab No:&nbsp;<asp:Label ID="lbl_page" runat="server" /></td>
        </tr>
        <tr><td colspan="3" style="vertical-align:central"><hr /></td></tr>
        <tr>
            <td style="width:15%;text-align:left;vertical-align:central">
                <asp:Label ID="lbl_print_version" runat="server" Text="View Printable Vision" Visible="false" />
            </td>
            <td style="font-size:larger; font-weight:bold; text-align:center; text-transform:capitalize;vertical-align:central">
                <asp:Label ID="lbl_schedule_name" runat="server" />
            </td>
            <td style="width:15%;text-align:right;vertical-align:central;padding-right:20px;">
                <asp:LinkButton ID="btn_footnotes" runat="server" Visible="false">Footnotes</asp:LinkButton>
                &nbsp;
                </td>
            </tr>
        <%--<tr><td colspan="3" style="vertical-align:central" class="auto-style1"></td></tr>--%>
        <tr><td colspan="3" style="vertical-align:central; padding-right:20%;padding-left:20%; ">
            <i><asp:Label ID="lbl_headnotes" runat="server" Text="" /></i></td></tr>
        <tr><td colspan="3" style="vertical-align:central"><hr /></td></tr>
    </table>

答案 2 :(得分:1)

另一个答案是正确的,并且工作正常。只需添加完整的代码。

您不需要为表添加runat=server但您仍然可以使用runat属性为该表隐藏tr,这很有趣。

<table>
<tr>
    <td>aa</td><td>bb</td>
</tr>
<tr id="trHide1" runat="server">
    <td>aa</td><td>bb</td>
</tr>
<tr id="trHide2" runat="server">
    <td>aa</td><td>bb</td>
</tr>
<tr>
    <td>aa</td><td>bb</td>
</tr>
</table>

现在只需在codebehind中设置属性(隐藏tr)

 trHide1.Visible = false;
 trHide2.Visible = false;