TERNARY OPERATOR IN RAZOR USING A @MODEL

Ankit Singh

Total Post:341

Points:2389
Posted by  Ankit Singh
C#  Razor 
 1236  View(s)
Ratings:
Rate this:

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.

  1. Tanuj Kumar

    Post:134

    Points:940
    Re: Ternary operator in razor using a @Model


    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>

      Modified On Mar-15-2016 05:36:52 AM

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!