ASP.NET 在列表视图中使用 If 语句和 Container

发布于 2024-07-23 05:38:03 字数 471 浏览 7 评论 0原文

在我的 ListView 中,我想在 aspx 页面上的 if 语句中使用容器的属性,如下所示。 但我收到“当前上下文中不存在名称“容器””错误。 我可以不在 if 语句中使用 Container 吗?

   <ItemTemplate>
        <tr>
          <td>
            <% if (EDIT_INDEX == (((ListViewItem)Container) as ListViewDataItem).DataItemIndex )
               {%>
            <span id="row<%#(((ListViewItem)Container) as ListViewDataItem).DataItemIndex %>"
Some Stuff
       </span>
<% } %>

In my ListView I want to use a property of the Container in an if statement on the aspx page as shown below. But I'm getting a "The name 'Container' does not exist in the current context" error. Can I not the Container in an if statement?

   <ItemTemplate>
        <tr>
          <td>
            <% if (EDIT_INDEX == (((ListViewItem)Container) as ListViewDataItem).DataItemIndex )
               {%>
            <span id="row<%#(((ListViewItem)Container) as ListViewDataItem).DataItemIndex %>"
Some Stuff
       </span>
<% } %>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妥活 2024-07-30 05:38:03

Container 仅在绑定表达式中可用。 使用 <%# .. %> 块以及三元运算符 (?:) 和字符串连接来实现相同的效果。

我使用的另一个解决方案是将内容放入不同的 控件中,其 Visible 属性绑定到不同的布尔表达式,并将不同的可能表示放入这些控件中占位符。 就像是:

<ItemTemplate>
    <tr>
      <td>
   <asp:Placeholder runat="server" 
    Visible='<%# EDIT_INDEX == (((ListViewItem)Container) as ListViewDataItem).DataItemIndex %>'>
        <span id='row<%#(((ListViewItem)Container) as ListViewDataItem).DataItemIndex %>'>
            Some Stuff
        </span>
   </asp:Placeholder>

Container is only available in binding expressions. Use a <%# .. %> block with the ternary operator (?:) and string concatenation to achieve the same thing.

Another solution that I have used is to put stuff in different <asp:Placeholder> controls whose Visible properties are binded to different boolean expressions and put the different possible representations inside those placeholders. Something like:

<ItemTemplate>
    <tr>
      <td>
   <asp:Placeholder runat="server" 
    Visible='<%# EDIT_INDEX == (((ListViewItem)Container) as ListViewDataItem).DataItemIndex %>'>
        <span id='row<%#(((ListViewItem)Container) as ListViewDataItem).DataItemIndex %>'>
            Some Stuff
        </span>
   </asp:Placeholder>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文