using values within if conditions in mark up

Sophie picture Sophie · Jun 20, 2012 · Viewed 8.5k times · Source

I want to use a value that is pulled from the SQL within the if statement. Ideally i want to do the equivalent of

<% If DataBinder.Eval(Container, "DataItem.BookID") == 1 Then%>

Is there a way to do this with the correct syntax?

Answer

Ebad Masood picture Ebad Masood · Jun 20, 2012

This is how you put conditions in aspx file. Just a rough sample base on what I understand:

<%# System.Convert.ToInt32((DataBinder.Eval(Container.DataItem, "BookID")!="") ? DataBinder.Eval(Container.DataItem, "BookID"):0) %>

Make sure you have int in BookID not any other type.

Explaining Further:

In case you want to have an if else condition:

<%# If DataBinder.Eval(Container.DataItem, "DATAFIELD") <> "" Then

   Response.Write("something")

End If %> // This is invalid 

The above statement can be properly written in aspx file as this:

<%# DataBinder.Eval(Container.DataItem, "DataField").Equals("")?"":"Something"%>