我的剃刀语法有点问题
给出一个Parsor错误,指出foreach块缺少闭合"}“字符
<ul>
@{var client = "null";}
@foreach (var instance in Model)
{
if (instance.tbl_Policy.tbl_Client.txt_clientName != client)
{
client = instance.tbl_Policy.tbl_Client.txt_clientName;
</ul><h1>@client</h1>
<ul>
}
<li>
@instance.tbl_Policy.txt_policyNumber -
Assigned to : @instance.aspnet_Membership.aspnet_User.UserName
@instance.ATLCheckType.Question
<button type="button" rel="<%:instance.ATLCheckInstanceId.ToString()%>">DelFiled</button>
<button type="button" rel="<%:instance.ATLCheckInstanceId.ToString()%>">DelLineItem</button>
</li>
}
</ul>发布于 2011-03-15 04:48:44
Razor不能处理代码块中不平衡的HTML标记。
更改if块以将不平衡的标记视为纯文本:
if (instance.tbl_Policy.tbl_Client.txt_clientName != client)
{
client = instance.tbl_Policy.tbl_Client.txt_clientName;
@:</ul><h1>@client</h1>
@:<ul>
}发布于 2011-03-16 02:22:30
代码应该进行重构,以正确支持平衡标记
@foreach (var groupedClient in Model.GroupBy(i => i.tbl_Policy.tbl_Client.txt_clientName))
{
<ul>
<h1>@groupedClient.Key</h1>
foreach(var instance in groupedClient)
{
<li>
@instance.tbl_Policy.txt_policyNumber -
Assigned to : @instance.aspnet_Membership.aspnet_User.UserName
@instance.ATLCheckType.Question
<button type="button" rel="@instance.ATLCheckInstanceId.ToString()">DelFiled</button>
<button type="button" rel="@instance.ATLCheckInstanceId.ToString()">DelLineItem</button>
</li>
}
</ul>
}发布于 2011-03-15 04:45:24
里面的<%: %>是怎么回事?您需要使用@语法。
<ul>
@{var client = "null";}
@foreach (var instance in Model)
{
if (instance.tbl_Policy.tbl_Client.txt_clientName != client)
{
client = instance.tbl_Policy.tbl_Client.txt_clientName;
</ul><h1>@client</h1>
<ul>
}
<li>
@instance.tbl_Policy.txt_policyNumber -
Assigned to : @instance.aspnet_Membership.aspnet_User.UserName
@instance.ATLCheckType.Question
<button type="button" rel="@instance.ATLCheckInstanceId.ToString()">DelFiled</button>
<button type="button" rel="@instance.ATLCheckInstanceId.ToString()">DelLineItem</button>
</li>
}
</ul>https://stackoverflow.com/questions/5304261
复制相似问题