Sora
Sora

Reputation: 2551

syntax error when trying to do an Eval

i am trying to do this :

     <%# DataBinder.Eval(Container.DataItem, "SERIAL").ToString()!=""? %>
        <a href="javascript:void(0)" id="Desc_lb" runat="server" visible="true">Desc</a>
        <telerik:RadToolTip ID="Description" runat="server" TargetControlID="Desc_lb" Text='Reference Order serial : <%#Eval("SERIAL") %>'></telerik:RadToolTip>
        <%# : "" %>

inside a repeater ItemTemplate but it's giving me a syntax error an invalid expression : and syntax error : expected near ?

Upvotes: 0

Views: 101

Answers (3)

Sora
Sora

Reputation: 2551

thank you for you comment everyone but i find my solution and i fix it like this :

 <a href="javascript:void(0)" id="Desc_lb" runat="server" visible='<%# DataBinder.Eval(Container.DataItem, "SERIAL").ToString()=="" %>'>Desc</a>
        <telerik:RadToolTip ID="Description" runat="server" TargetControlID="Desc_lb" Text='<%# "Reference Order serial :"+ DataBinder.Eval(Container.DataItem, "SERIAL") %>'></telerik:RadToolTip>

Upvotes: 0

Jon P
Jon P

Reputation: 821

From what I see and understand, try this, this is what you supposed to do:

<% if (DataBinder.Eval(Container.DataItem, "SERIAL").ToString() != "") { %>
    <a href="javascript:void(0)" id="Desc_lb" runat="server" visible="true">Desc</a>
    <telerik:RadToolTip ID="Description" runat="server" TargetControlID="Desc_lb" Text='Reference Order serial : <%#Eval("SERIAL") %>'>
</telerik:RadToolTip><% } %>

Using short circuit is the problem

Upvotes: 1

Janne Matikainen
Janne Matikainen

Reputation: 5121

This is not valid syntax, you are trying to use expression ? true : false syntax and are not.

<%# DataBinder.Eval(Container.DataItem, "SERIAL").ToString()!=""? %>

To fix it do a codebehind method and call it with the value returned from eval, like so.

<%# DoStuffWithSerial(DataBinder.Eval(Container.DataItem, "SERIAL"))) %>

Upvotes: 0

Related Questions