2012-01-08 158 views
6

這是代碼我有問題:C#語法剃刀在字符串中

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

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

回答

8

括號:

@:<ul id="[email protected](i)" class='droptrue'> 

括號這裏的範圍剃刀的表達;在它們不需要很多情況下,但是他們是在必要時:(空格等)

  • 表達(右側)是不平凡的和需要幫助的範圍是
  • 那裏沒有它,它看起來像一個電子郵件地址,即[email protected] - 這有特殊的處理,以避免打破其中的電子郵件地址的頁面
+0

啊這麼簡單,但它沒有在參考中提到!非常感謝! – Unfixable 2012-01-08 10:03:22

1

是這樣的:

@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> 

下面是你的知識quick reference


接縫就像我沒有得到它的權利,

馬克說,所有你需要做的是用方括號括可變像

[email protected](i) 

我希望參考有點因爲您的特定問題可以在明確表達式示例