尝试在;的SelectedIndexChanged
事件上放置一个事件处理程序 GridView
然后您可以相应地显示/隐藏面板:(VB.NET)
Protected Sub gvAllQuarries_SelectedIndexChanged(sender As Object, e As EventArgs) Handles gvAllQuarries.SelectedIndexChanged
pnlPic.Visible = Not (gvAllQuarries.SelectedIndex = -1)
End Sub
弄乱逻辑让它按你想要的方式播放,如果需要的话适应 C#。
作为替代方案,如果您希望将面板全部内联,则可以将面板包装在条件块中:
VB.NET:
<% If gvAllQuarries.SelectedIndex <> 1 Then%>
<asp:Panel ID="Panel1" runat="server">
//put whatever inside the panel
</asp:Panel>
<% End If %>
C#:
<% if (gvAllQuarries.SelectedIndex != 1) { %>
<asp:Panel ID="Panel1" runat="server">
//put whatever inside the panel
</asp:Panel>
<% } %>
这有点乱,但我能看到你在没有代码隐藏的情况下将它全部内联的唯一方法。您尝试的选项Visible='<% gvAllQuarries.SelectedIndex == -1 ? false:true %>'
只有在您使用数据绑定语法 ( '<%# %>'
) 时才有效,然后无论如何您都需要DataBind()
从代码隐藏中显式调用它。
不幸的是 using'<%= $>'
只会输出静态文本,不会被评估为布尔值以应用于可见属性。
改编自这个类似的问题。