在转发器中使用if语句和asp.net控件

时间:2013-05-22 08:30:11

标签: if-statement eval inline

我正在尝试在asp.net转发器中使用asp.net控制器,但是我收到错误。我的代码块也是。

<td><% if ((bool)Eval("isMenu") == true)
{%><asp:ImageButton ImageUrl='/Panel/img/ok.png' ID='btn_aktif' OnClick='btn_aktif_Click' CommandArgument='<%Eval("KategoriID")%>' runat='server' />
<%}
else
{ %>
<asp:ImageButton ImageUrl='/Panel/img/ok.png' ID='btn_pasif' OnClick="btn_pasif_Click" CommandArgument='<%Eval("KategoriID")%>' runat='server' />
<%} %>
<td>

无论如何要做到这一点?

3 个答案:

答案 0 :(得分:1)

为什么需要==trueif ((bool)Eval("isMenu"))就足够了。试一试。

答案 1 :(得分:0)

您在代码#中缺少使用Eval的哈希符号。例如,更新为:

<asp:ImageButton ImageUrl='/Panel/img/ok.png' ID='btn_aktif' OnClick='btn_aktif_Click' CommandArgument='<%#Eval("KategoriID")%>' runat='server' />

所以,请使用此代码

{%><asp:ImageButton ImageUrl='/Panel/img/ok.png' ID='btn_aktif' OnClick='btn_aktif_Click' CommandArgument='<%#Eval("KategoriID")%>' runat='server' />
<%}
else
{ %>
<asp:ImageButton ImageUrl='/Panel/img/ok.png' ID='btn_pasif' OnClick="btn_pasif_Click" CommandArgument='<%#Eval("KategoriID")%>' runat='server' />
<%} %>

答案 2 :(得分:0)

 <td><asp:ImageButton ImageUrl='/Panel/img/ok.png' Visible='<%# (bool) Eval("isMenu")==true? true:false%>' ID='ImageButton1' OnClick='btn_aktif_Click' CommandArgument='<%#Eval("KategoriID")%>' runat='server' />
<asp:ImageButton ImageUrl='/Panel/img/cancel.png' Visible='<%# (bool) Eval("isMenu")==true? false:true%>' ID='img_cancel' OnClick='btn_aktif_Click' CommandArgument='<%#Eval("KategoriID")%>' runat='server' /></td>

我使用visible属性来解决这个问题