我意识到ShowHeaderWhenEmpty仅适用于PostBacks。有没有办法在页面加载后使其工作?
<asp:GridView ID="GridView1"... ShowHeaderWhenEmpty="true"... >
<EmptyDataTemplate>
<asp:Label ID="Label1" runat="server" Text="No records found"></asp:Label>
</EmptyDataTemplate>
当我没有要显示的信息时,上面的消息只出现在PostBacks中,当页面加载时没有。
答案 0 :(得分:6)
注意:此答案假设(根据您的问题)您将 GridView
绑定到PostBack上的数据源,而 {期间完全没有{1}}。 如果我错了,请纠正我。
Page_Load
内容仅在您的<EmptyDataTemplate>
被数据绑定后显示。如果您只是在Postback上进行数据绑定(基于某些用户交互),解决此问题的一种方法是将GridView
绑定到空(人工)数据集,这样GridView
将显示。< / p>
<EmptyDataTemplate>
从EmptyDataTemplate上的MSDN article(强调我的):
数据时,空数据行显示在
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Dim table As New DataTable GridView1.DataSource = table GridView1.DataBind() End If End Sub
控件中 绑定到控件的源不包含任何记录。
如果没有绑定到控件的数据源,则此属性尚不相关。