Примечание. В этом ответе предполагается (в зависимости от вашего вопроса), что вы привязываете GridView
к источнику данных в PostBack, а не в течение Page_Load
. Пожалуйста, поправьте меня, если я ошибаюсь.
Содержимое <EmptyDataTemplate>
отображается только после того, как ваша GridView
была привязана к данным. Если вы привязываете данные только к Postback (основываясь на некотором взаимодействии с пользователем), то одним из способов решения этой проблемы будет привязка вашего GridView
к пустому (искусственному) набору данных, именно так будет отображаться <EmptyDataTemplate>
.
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
Из статьи MSDN на шаблоне EmptyDataTemplate (выделено мной):
Пустая строка данных отображается в элементе управления GridView
, когда данные
Источник, связанный с элементом управления , не содержит записей.
Если к элементу управления не привязан источник данных, это свойство еще не имеет значения.