1

我在 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 缺少结束标记”

我该如何解决?

4

2 回答 2

2

这是因为编译器不理解<% if标签,并且看到两个开<div一关</div>

您可以忽略它,或者在结束标记周围使用相同的 if 语句:

<% if (Model.EnrollmentNumber.Equals("Global"))
{ %>
  </div>
<% }%> 
<% else
{ %>
  </div>
<%} %>
于 2013-04-15T09:47:20.600 回答
0

编译器不明白只写了一个div。为什么不使用 asp:Panel 代替?在我看来,这是一个更清洁的解决方案:

<asp:Panel ID="div1" cssclass="slidingDiv" Visible='<%# !Model.EnrollmentNumber.Equals("Global") %>'>
<%= Html.TextBoxFor(model => model.EnteredEnrollmentNumber)%>
</asp:Panel>
于 2013-04-15T09:50:58.770 回答