簡體   English   中英

字符串中的C#Razor語法

[英]C# Razor Syntax inside a string

這是我遇到問題的代碼:

@{int i = 1;}
@foreach (var item in Model)
{
    @:<ul id="sortablei" class='droptrue'>
    i++;
}

如何在id sortablei中使用i? 我試過了:@ i或@ {i}但似乎沒有空格之前我沒有工作。 我在Razor語法參考中找不到我的問題的答案,所以我現在有點無能為力。

括號:

@:<ul id="sortable@(i)" class='droptrue'>

這里的括號是剃刀表達的范圍; 在許多情況下,它們不是必需的,但在以下情況下它們是必需的

  • 表達式(在右邊)是非平凡的(空格等)並且需要幫助來限定它
  • 沒有它,它看起來像一個電子郵件地址,即abc@def - 這有特殊處理,以避免打破其中包含電子郵件地址的頁面

這樣的事情:

@model System.Generic.Collections.List<MyNameSpace.Product>
@{
    int i = 1;
    string sortablei = "abc",
           droptrue = "abc-cls";
}

<ul id="@sortablei" class="@droptrue">
    @foreach (var item in Model)
    {
       <li>@item.Qty x @item.Name</li>
       i++;
    }
</ul>

這是您的知識的快速參考


像我這樣的接縫沒有把它弄好,

正如馬克所說,你需要做的就是用括號括起變量

sortable@(i)

我希望該引用有點用處,因為您可以在Explicit Expression示例中找到您的特定問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM