【发布时间】:2018-02-20 17:42:54
【问题描述】:
我有一个带有每个月状态的模型的中继器。
所以我想在转发器中使用 for 循环,但问题是变量不可访问
代码:
<ItemTemplate>
<% for (int month = 1; month <= 12; month++)
{ %>
<div class="DS_monthCol <%= GetStatusClassName(Item, month) %>">
<asp:HyperLink ID="HyperLink1" runat="server"></asp:HyperLink>
</div>
<% } %>
</ItemTemplate>
方法GetStatusClassName 是可以访问的——没问题。但是这种情况是:The name Item does not exits in the current context,这是来自 Visual Studio 的错误。
如果我像这样使用它:
<%# GetStatusClassName(Item, month) %>
The name month does not exits in the current context
如何让两者都可以访问?
我们的想法是避免这种情况:
<div class='DS_monthCol <%# GetStatusClassName(Item, 1) %>'>
<asp:HyperLink ID="HyperLink1" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 2) %>'>
<asp:HyperLink ID="HyperLink2" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 3) %>'>
<asp:HyperLink ID="HyperLink3" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 4) %>'>
<asp:HyperLink ID="HyperLink4" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 5) %>'>
<asp:HyperLink ID="HyperLink5" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 6) %>'>
<asp:HyperLink ID="HyperLink6" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 7) %>'>
<asp:HyperLink ID="HyperLink7" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 8) %>'>
<asp:HyperLink ID="HyperLink8" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 9) %>'>
<asp:HyperLink ID="HyperLink9" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 10) %>'>
<asp:HyperLink ID="HyperLink10" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 11) %>'>
<asp:HyperLink ID="HyperLink11" runat="server"></asp:HyperLink>
</div>
<div class='DS_monthCol <%# GetStatusClassName(Item, 12) %>'>
<asp:HyperLink ID="HyperLink12" runat="server"></asp:HyperLink>
</div>
【问题讨论】:
标签: asp.net for-loop syntax webforms user-controls