嵌入式for循环无法访问变量

嵌入式for循环无法访问变量

我的代码存在嵌入式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/

10-08 20:38