我在ASP.net MVC2中有一个代码段,如下所示:
<% if (Model.EnrollmentNumber.Equals("Global"))
{ %>
<div id="div1" class="slidingDiv" style="display:none;">
<% }%>
<% else
{ %>
<div id="div1" class="slidingDiv" style="display: inline;">
<%} %>
<%= Html.TextBoxFor(model => model.EnteredEnrollmentNumber)%>
</div>
那就是,如果Model.EnrollmentNum是“Global”,则隐藏div。否则,div是可见的。但上面的代码有错误。编译器说“元素div缺少其结束标记”
我该如何解决?
答案 0 :(得分:2)
这是因为编译器不理解<% if
标记,并且对于一个结束<div
看到两个开放</div>
。
您可以忽略它,或者在结束标记周围使用相同的if语句:
<% if (Model.EnrollmentNumber.Equals("Global"))
{ %>
</div>
<% }%>
<% else
{ %>
</div>
<%} %>
答案 1 :(得分:0)
编译器不理解只写了一个div。为什么不使用asp:Panel呢?在我看来,这是一个更清洁的解决方案:
<asp:Panel ID="div1" cssclass="slidingDiv" Visible='<%# !Model.EnrollmentNumber.Equals("Global") %>'>
<%= Html.TextBoxFor(model => model.EnteredEnrollmentNumber)%>
</asp:Panel>