I am trying to use the ternary operator in this piece of code, where Model.FirstTechSupportAssigneeElapseTime
is of type TimeSpan?
:
<dt>Assigned In</dt>
<dd>
@if (@Model.FirstTechSupportAssigneeElapseTime == null)
{ @:N/A }
else
{ @Model.FirstTechSupportAssigneeElapseTime }
</dd>
I have tried to implement the the ternary operator but I am failing miserably, the @'s everywhere are confusing me. Is it possible to have a the ternary operator in this scenario?
Thank you.
Just keep in mind which scope you are in. Inside the if statement you do not need the @
because you are in c# scope. Inside of the conditional statement you are in razor scope, so you do need the @
<dt>Assigned In</dt>
<dd>
@if (Model.FirstTechSupportAssigneeElapseTime == null)
{
@:N/A
}
else
{
@Model.FirstTechSupportAssigneeElapseTime
}
</dd>
This can also be done in using the ternary operator, assuming that elapsetime is a string (if it isn't there will be a conversion compilation error when the page loads)
<dt>Assigned In</dt>
<dd>
@( Model.FirstTechSupportAssigneeElapseTime == null ? "N/A" : Model.FirstTechSupportAssigneeElapseTime.ToString() )
</dd>
<dt>Assigned In</dt>
<dd>
@(
Model.FirstTechSupportAssigneeElapseTime == null
? "N/A"
: Model.FirstTechSupportAssigneeElapseTime.ToString() //per @Guillermo Sánchez's comment, it seems that FirstTechSupportAssigneeElapseTime is of type TimeSpan
//therefore the `.ToString()` was added to ensure that all parts of the if statement return data of the same type.
)
</dd>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With