2012-01-08 143 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) 

我希望参考有点因为您的特定问题可以在明确表达式示例