我的代码存在嵌入式for循环无法访问变量的问题。我正在使用C#。这是代码:
<% List<ProductPacking> categoryList = new List<ProductPacking>();
categoryList = packBLL.getAllCategory();
foreach(ProductPacking cl in categoryList) { %>
<!-- FIRST COLLAPSIBLE PANEL EXTENDER -->
<asp:Panel ID="pHeader1" runat="server" CssClass="cpHeader">
<!-- First collapsible panel extender header -->
<div class="form-group" style="background-color: #ffb848; height: 30px; vertical-align: middle">
<div class="col-md-3">
<div style="float: left; color: White; padding: 5px 5px 0 0">
<%= cl.categoryName; %>
</div>
但是,在此行:
<%= cl.categoryName; %>
,它告诉我名称cl在当前上下文中不存在。我不知道为什么会这样。 最佳答案
我认为,在这种情况下,如何关闭标签的方法是要渲染的元素之前的两端,请尝试在html的末尾将其关闭以显示,并避免使用asp标签。
尝试像
<%
StringBuilder sb = new StringBuilder();
List<ProductPacking> categoryList = new List<ProductPacking>();
categoryList = packBLL.getAllCategory();
foreach(ProductPacking cl in categoryList) {
sb.AppendFormat("<div>{0}</div>",cl.categoryName);
//some more html here
}
response.write(sb.ToString());
%>
但我更喜欢使用网格或其他类似控件并自定义行模板,以使我的生活更轻松
关于c# - 嵌入式for循环无法访问变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20803551/