Reputation: 21003
I have an if statement currently written (wrongly) as:
<%# Eval("AccumHolidays").ToString() != "" ? Eval("AccumHolidays").ToString() : Eval("Holidays").ToString() != "" ? Eval("Holidays").ToString() : %> 0 <% %>
This works until I want to output the 0 in the final else. Looking for something like:
if(Eval("AccumHolidays").ToString() != "")
Eval("AccumHolidays").ToString();
else
if(Eval("Holidays").ToString() != "")
Eval("Holidays").ToString();
else
Response.Write("0");
I might have the arguments the wrong way around, but what would be the correct statement to put in the aspx page?
Upvotes: 1
Views: 2253
Reputation: 2104
<%# Eval("AccumHolidays").ToString() != "" ?
Eval("AccumHolidays").ToString() : Eval("Holidays").ToString() != "" ?
Eval("Holidays").ToString() : "0"%>
Upvotes: 2
Reputation: 1839
I'm suggesting an alternative approach, feel free to ignore it if you don't like it. Why not create a new property in your data source like this
public string HolidaysText
{
get
{
if (AccumHolidays.ToString() != "")
return AccumHolidays.ToString();
if (Holidays.ToString() != "")
return Holidays.ToString();
return "0";
}
}
Then you can have a simple Eval statement in your page
<%# Eval("HolidaysText") %>
Upvotes: 4