首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Razor语法没有按照我预期的方式工作

Razor语法没有按照我预期的方式工作
EN

Stack Overflow用户
提问于 2011-03-15 04:43:29
回答 3查看 2.5K关注 0票数 4

我的剃刀语法有点问题

给出一个Parsor错误,指出foreach块缺少闭合"}“字符

代码语言:javascript
复制
<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>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-15 04:48:44

Razor不能处理代码块中不平衡的HTML标记。

更改if块以将不平衡的标记视为纯文本:

代码语言:javascript
复制
   if (instance.tbl_Policy.tbl_Client.txt_clientName != client)
   {
       client = instance.tbl_Policy.tbl_Client.txt_clientName;
      @:</ul><h1>@client</h1>   
      @:<ul>
   }
票数 7
EN

Stack Overflow用户

发布于 2011-03-16 02:22:30

代码应该进行重构,以正确支持平衡标记

代码语言:javascript
复制
@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>
}
票数 7
EN

Stack Overflow用户

发布于 2011-03-15 04:45:24

里面的<%: %>是怎么回事?您需要使用@语法。

代码语言:javascript
复制
<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>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5304261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档