[英]Razor syntax in c# code block
尝试使用以下方法填充表数据:
@foreach (var mc in Model.McList)
{
<tr>
<td>
@(@mc.Amount != null ? @mc.Amount @@ @mc.Price : null)
</td>
</tr>
}
但陷入剃刀语法错误:
期望:
期待)
或模棱两可的调用:无效写入
金额是整数? 可为null的类型。
@(@mc.Amount != null ? @mc.Amount : null) //works only with one property
@if (@mc.Amount != null) {@mc.Amount <text>@@</text> @mc.Price} //works
@if (@mc.Amount != null) {@mc.Amount @@ @mc.Price} //error
@if (@mc.Amount != null) {@mc.Amount @:@@ @mc.Price} //error
是没有if的更短方法来检查null值吗?
我认为那是不可能的。 如果必须在一行中执行此操作,则我得到的最接近的结果是:
@(@mc.Amount != null ? string.Format("{0} @ {1}", mc.Amount, mc.Price) : null)
我可能永远不会自己做!
我认为您正在尝试制作如下所示的内容:
5 @ 20
如果是这样,您需要记住@(
和)
之间的所有内容都是纯C#代码; 您需要做的是这样的:
@(mc.Amount != null ? string.Format("{0} @ {1}", mc.Amount, mc.Price) : "")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.