cooolstaff
cooolstaff

Reputation: 75

using if statement and an asp.net control in a repeater

I'm trying to use an asp.net controller in a asp.net repeater but I get error.here is my codeblock.

<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>

is there anyway to do that?

Upvotes: 0

Views: 2291

Answers (3)

Animesh Nandi
Animesh Nandi

Reputation: 458

why do you need ==true , if ((bool)Eval("isMenu")) is enough. Give it a try.

Upvotes: 1

Dave
Dave

Reputation: 8461

You are missing the hash symbol in your code # where you use Eval. For example, update to:

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

So, use this code

{%><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' />
<%} %>

Upvotes: 0

cooolstaff
cooolstaff

Reputation: 75

 <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>

I used visible attribute to sove this problem

Upvotes: 0

Related Questions