Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 嵌入式for loop can';不要访问变量_C#_Asp.net_For Loop - Fatal编程技术网

C# 嵌入式for loop can';不要访问变量

C# 嵌入式for loop can';不要访问变量,c#,asp.net,for-loop,C#,Asp.net,For Loop,我的代码存在嵌入式for循环无法访问变量的问题。我用的是C#。代码如下: <% List<ProductPacking> categoryList = new List<ProductPacking>(); categoryList = packBLL.getAllCategory(); foreach(ProductPacking cl in categoryList) { %>

我的代码存在嵌入式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这个名称在当前上下文中不存在。我想知道为什么会这样。

我认为关闭标记的方式是,在本例中,在要渲染的元素之前,每个元素都要结束,尝试在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());
%>


但我更喜欢使用网格或其他类似控件并自定义行模板,以使我的生活更轻松

我认为内联ASP代码的范围非常有限。此外,这看起来可能是一个ASP中继器的好例子:我想我将使用中继器和可折叠面板扩展器来实现这一点。谢谢你的努力。