ASP.NET MVC 3 using Razor - use conditional expres

2020-04-05 08:40发布

问题:

I've been bugged with this for many days...(I'm in process of studying ASP.NET MVC 3)

In this link -- Razor If/Else conditional operator syntax -- is said that the only valid syntax for conditional expression in Razor engine is @(x?y:z)

Alright. Now, how do I write HTML in this conditional expression? I can't use Razor here, following code results in invalid syntax error.

@(item.Manager == null ? @:<i>unassigned</i> : item.Manager.Name)

After some research I discovered HtmlWriter or Html.Raw but neither of them, nor their methods .toString() or .toHtmlString() help because they are not of string but of IHtmlString type.

Thanks for reply!

回答1:

@(item.Manager == null ? new HtmlString("<i>unassigned</i>") : new HtmlString( item.Manager.Name) )