ASP.NET 在列表视图中使用 If 语句和 Container
在我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Container
仅在绑定表达式中可用。 使用<%# .. %>
块以及三元运算符 (?:
) 和字符串连接来实现相同的效果。我使用的另一个解决方案是将内容放入不同的
控件中,其Visible
属性绑定到不同的布尔表达式,并将不同的可能表示放入这些控件中占位符。 就像是: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 whoseVisible
properties are binded to different boolean expressions and put the different possible representations inside those placeholders. Something like: