来自@ {}内部调用的函数的输出字符串

时间:2013-08-29 08:57:14

标签: c# asp.net-mvc asp.net-mvc-4 razor

我遇到的问题只是在调用以下函数时返回一个字符串:

@{StringUtil.IfNullorEmptyOutputHyphen<decimal>(ViewBag.StockItem.Height);}

这里需要@ {},因为参数可能为null,因此需要类型约束。

@StringUtil.IfNullorEmptyOutputHyphen<decimal>(ViewBag.StockItem.Height)

由于

,上面给出了错误
<decimal>

因此调用@ {}内的函数是必要的。

完整性的功能是:

public static IHtmlString IfNullorEmptyOutputHyphen<T>(T? value) where T : struct
{
    if (value == null)
    {
        return new HtmlString("wtf99");
    }

    return new HtmlString(value.ToString());
}

总结一下,如何从@ {}

中调用的函数返回'string'?

3 个答案:

答案 0 :(得分:4)

您可以将其包装在括号中:

@(StringUtil.IfNullorEmptyOutputHyphen<decimal>(ViewBag.StockItem.Height))

答案 1 :(得分:1)

这将起作用

@(StringUtil.IfNullorEmptyOutputHyphen<decimal>(ViewBag.StockItem.Height))

答案 2 :(得分:0)

Gah没关系,解决方案非常简单,我可以自己动手:

@(StringUtil.IfNullorEmptyOutputHyphen<decimal>(ViewBag.StockItem.Height))

使用圆括号来封装函数调用。