c# – 当我在if子句中放置一个关闭div标签时,Razor抱怨
发布时间:2020-12-15 17:37:26 所属栏目:百科 来源:网络整理
导读:我正在尝试使用Razor模板: @if(isNew){ div class="new"}...@if(isNew){ /div} 错误是: cannot resolve the symbol 'div' Razor不喜欢IF子句中的结尾div标签,我该如何让它工作?有没有逃脱我不得不使用? 解决方法 当您拆分开始/结束标签时,剃须刀不喜欢它
我正在尝试使用Razor模板:
@if(isNew) { <div class="new"> } ... @if(isNew) { </div> } 错误是: cannot resolve the symbol 'div' Razor不喜欢IF子句中的结尾div标签,我该如何让它工作?有没有逃脱我不得不使用? 解决方法
当您拆分开始/结束标签时,剃须刀不喜欢它,因为它无法正确解析HTML,因此您必须以纯文本方式将其转义:
@if(isNew) { @:<div class="new"> } ... @if(isNew) { @:</div> } 更常规的方法是在div内重复标记(使用部分或其他方式) – 哪种方法更可取,我会说,取决于条件div之间的标记的性质: @if(isNew) { <div class="new"> <!-- some markup or partial view --> </div> } else { <!-- some markup or partial view --> } 我喜欢这种方法: >所包含的标记可以有用地包含在部分中,以便在其他地方可重用. 我还应该添加使用帮助方法的选项: @helper MainMarkup() { <!-- some markup or partial view --> } @if(isNew) { <div class="new"> @MainMarkup() </div> } else { @MainMarkup() } 如果要使用上述第二个选项,但避免重复标记或嵌套太多部分(特别是如果此标记仅与此视图相关),则此功能非常有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |