我在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> </asp:LinkButton>
</ItemTemplate>
我想根据以下条件隐藏此列。此状态字段包含1或0。
<%# Bind("Status") %>
我不知道该怎么做
答案 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> </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进行单向数据读取。