将li放入if语句时遇到结束标记“li”,没有匹配的开始标记错误

时间:2016-12-05 10:04:40

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-3 razor

我正在使用asp.net MVC 5和Visual Studio 2013

并致力于Razor视图

视图工作正常,没有if语句围绕< li>启动

如果我附上任何< li>开始,使用if条件语句我得到此错误

分析程序错误消息:遇到结束标记“li”,没有匹配的开始标记。您的开始/结束标签是否正确平衡?

@using TheodorHR_App.Models
<div id="tree_CadreGroupLevel" class="tree-demo">
    <ul>
        @{
            TheodorHrEntities db = new TheodorHrEntities();
            var nodes = db.Cadres.ToList();
            foreach (var node in nodes)
            {
                Cadre root = new Cadre();
                root.Id = node.Id;
                if (@Model.RuleElementCadres.Select(e => e).Where(e => e.Cadre == node.Id).Count() > 0)
                {
                    <text>
                        <li id="Cnode_@node.Id" data-jstree='{ "selected" : true }'>
                    </text>
                }
                else
                {
                    <text>
                    <li id="Cnode_@node.Id">
                    </text>
                }

                        <a href="#">@node.Name</a>
                        <ul>
                            @{
                                var nodes1 = db.JobGroups.Where(jg => jg.CadreId == @node.Id).ToList();
                                foreach (var node1 in nodes1)
                                {
                                    Cadre root1 = new Cadre();
                                    root1.Id = node1.Id;
                                    <li id="Gnode_@node1.Id">
                                        <a href="#">@node1.Name</a>
                                        <ul>
                                            @{
                                                var nodes2 = db.JobGroupJobLevels.Where(jl => jl.JobGroup == @node1.Id).ToList();
                                                foreach (var node2 in nodes2)
                                                {
                                                    Cadre root2 = new Cadre();
                                                    root2.Id = node2.Id;
                                                    <li id="Lnode_@node2.Id">
                                                        <a href="#">@node2.JobLevel1.Name</a>
                                                        <ul></ul>
                                                    </li>
                                                }
                                            }
                                        </ul>
                                    </li>
                                }
                            }
                        </ul>
                </li>
            }
        }
    </ul>
</div>
  • 第一个回答后更新 不起作用 enter image description here

Razor将其理解为c#并试图用双引号将其括起来不起作用,因为文字包含已经双打的引号然后试图替换“与\”这不起作用,因为它没有给js树的含义我正在建设

0 个答案:

没有答案