[英]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.