字符串中的C#Razor语法
本文关键字:语法 C#Razor 字符串 | 更新日期: 2023-09-27 18:19:40
这是我遇到问题的代码:
@{int i = 1;}
@foreach (var item in Model)
{
@:<ul id="sortablei" class='droptrue'>
i++;
}
如何在id sortablei中使用I?我试过:@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)
我希望这个参考有点有用,因为您的特定问题可以在显式表达式示例