asp.net-mvc – Razor视图引擎:复杂循环和HTML
发布时间:2020-12-15 18:55:10 所属栏目:asp.Net 来源:网络整理
导读:我有很多复杂的HTML报告在我目前的项目中,我们执行大量条件渲染TRs和TDs与rowspan和colspans。 它有时看起来像这样(这是非常简化): tr@foreach (var ourItem in ourList) { if (ourItem != ourList.First()) { tr } td/td /tr} 然而,Razor声称:“foreach
我有很多复杂的HTML报告在我目前的项目中,我们执行大量条件渲染TRs和TDs与rowspan和colspans。
它有时看起来像这样(这是非常简化): <tr> @foreach (var ourItem in ourList) { if (ourItem != ourList.First()) { <tr> } <td></td> </tr> } 然而,Razor声称:“foreach循环缺少一个结束”}“字符”。 (在Visual Studio中) 我试图包装< tr>在< text>< / text>这使得关闭}问题消失只是为了找到这个当运行:“遇到结束标签”tr“没有匹配的开始标记。你的开始/结束标签是否正确平衡。 我如何做这种条件渲染,同时说服Razor不要打??扰HTML,因为当所有的循环完成时,HTML是平衡的。或者至少是使用ASP.NET视图引擎时的情况。 解决方法
Visual Studio Intellisense和语法高亮不是最好的,但在这种情况下它警告你,如果条件不满足,你可能会得到无效的标记,你不应该责怪它。
重要的是,你的项目运行良好,但你可能会考虑将这个逻辑外部化为HTML助手,因为如果你说的是真的,这是一个简化的版本,你在视图中,我甚至不想想象你的实际代码看起来。 IMHO在一个视图中有这么多的条件逻辑是滥用。你绝对应该考虑使用HTML助手或控件,如MVCContrib Grid。 更新: 您可以尝试以下hack: <tr> @foreach (var ourItem in ourList) { if (ourItem != ourList.First()) { @:<tr> } @:<td></td> @:</tr> } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在后面的代码中通过jquery添加列表框项的问题
- asp.net-mvc – 持久化jqGrid列首选项
- asp.net-mvc – ASP.NET MVC 5 Web应用程序性能低下
- asp.net-mvc – 用相同的动词重载asp.net MVC控制器方法?
- asp.net – 为WebSite添加配置转换
- asp.net – XmlSerializer可以反序列化为Nullable吗?
- asp.net – WPF初学者澄清
- asp.net-mvc-3 – MVC 3.0 RC创建新项目空引用错误
- ASP.NET MVC类级自定义数据注释和ModelState键
- ASP.NET AJAX与ASP.NET MVC中的jQuery
推荐文章
站长推荐
- asp.net-mvc-3 – Editor用于收集我的模型中的项
- 在ASP.NET标识中为AspNetUserRoles表添加角色
- 什么是IIS和Asp.Net中的应用程序池?
- ASP.NET Web API v2并使用E??LMAH记录所有错误/异
- .net – ReportViewer 2010无法评估表达式
- LoadControl与构造ASP.Net控件
- asp.net-web-api – ExtensionlessUrlHandler和“
- asp.net-mvc – 如何阻止ASP.Net MVC Html.Actio
- asp.net-mvc – 使用FileStreamResult删除临时文
- ASP.net Web窗体,在编译时获取aspx /视图错误?
热点阅读