根据条件隐藏aspx页面中的项目模板

时间:2017-04-16 11:17:08

标签: asp.net aspxgridview

我在listview中有以下项目模板

<ItemTemplate>
    <asp:LinkButton ID="ibtnEdit" runat="server" Height="20px" Width="20px" ToolTip="Edit  this Category" CommandArgument='<%#  Eval("Category_ID")  %>' CommandName="EditObject"  CausesValidation="False"> <i class="glyphicon glyphicon-edit"></i>&nbsp;</asp:LinkButton> 
</ItemTemplate>

我想根据以下条件隐藏此列。此状态字段包含1或0。

<%#    Bind("Status") %>

我不知道该怎么做

3 个答案:

答案 0 :(得分:0)

@aniltc你是否也希望根据条件0和1使其可见?

尝试这个,但未经测试,逻辑将类似我相信:

    if (txt_Status.Text != "")
        {
            string a, b;
                a=0;
                b=1;
        if (txt_Status.Text==a)
                    {

                        LinkButton lnkEdit = [YourDatalist].FindControl("ibtnEdit") as LinkButton;
                        lnkEdit.Visible = false;
                    }
         else if (txt_Status.Text == b)
                    {

                        LinkButton lnkEdit = [YourDatalist].FindControl("ibtnEdit") as LinkButton;
                        lnkEdit.Visible = true
                      }

           }

答案 1 :(得分:0)

我尝试使用以下代码,但它可以正常工作

 <asp:LinkButton ID="ibtnEdit" runat="server" Height="20px" Width="20px" ToolTip="Edit  this Category"
                        CommandArgument='<%#  Eval("Category_ID")  %>' Visible='<%# DecideHere((int)Eval("Status")) %>'  CommandName="EditObject"
                        CausesValidation="False"> <i class="glyphicon glyphicon-edit"></i>&nbsp;</asp:LinkButton> 

在代码背后

 protected bool DecideHere(int id)
             {
                if (id == 1 )
                    return true;
                else
                    return false;
             }

答案 2 :(得分:0)

您可以在链接按钮上设置Visible属性,如下所示:

Visible='<%# Iif(Eval("Status")=1,True,False) %>'

注意您要使用Eval not Bind进行单向数据读取。