Dhw*_*ani 4 c# razor asp.net-mvc-4
这是我的剃刀观点.
@model IEnumerable<ApricaROI.Models.DatabaseEntities.SalesItemMapping>
@{
var name_List = Model.GroupBy(x => x.Name).Select(y => y.First()).ToList();
}
@foreach (var name in Model.Select(item => item.Name).Distinct()) {
<div id="item@@name" class='itemDivs'>
@{ Html.RenderPartial("_EditItemChild",
Model.Where(item => item.Name== name).ToList()); }
</div>
}
Run Code Online (Sandbox Code Playgroud)
我不知道它有什么样的错误.它给出了以下错误.
"\"@\" is not valid at the start of a code block.
Only identifiers, keywords, comments, \"(\" and \"{\" are valid.\r\n"
Run Code Online (Sandbox Code Playgroud)
我已阅读的地方,@@
在工作mvc3
即razor 1.0
.但不知何故不起作用mvc4 razor-2.0
所以尝试改变
<div id="item@@name" class='itemDivs'>
Run Code Online (Sandbox Code Playgroud)
至
<div id="item@("@name")" class='itemDivs'>
Run Code Online (Sandbox Code Playgroud)
我认为问题在于id ="item @@ name".你不能在那里有@@.Razor正在使用@ character.如果内容作为代码有效(并且您希望将其视为内容),则可以通过键入@@显式地转义@字符.所以在你的情况下,你会在Razor解析之后得到id ="item @ name".
ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(" - "),下划线("_") ,冒号(":")和句号(".").
如果你需要在里面使用变量请使用
<div id="item@(name)" class='itemDivs'>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11669 次 |
最近记录: |