我似乎无法使EmptyDataTemplateEmptyDataTextGridView正常工作。

我正在de codebehind中获取GridView内容,并使用DataBind()附加它们。我尝试将它们作为null和空的List设置,在两种情况下,都不会显示我放入EmptyDataTemplateEmptyDataText的文本。

我究竟做错了什么?

编辑(代码段)

这是我的GridView:

<asp:GridView ID="grid" runat="server" EmptyDataText="EMPTY">
</asp:GridView>

我已经尝试了这两个用于绑定(bind)数据的方法:
grid.DataSource = new List<object>();
grid.DataBind();

grid.DataSource = null;
grid.DataBind();

最佳答案

此问题是由使用所谓的CSS-Friendly Control Adapters引起的。启用它们(默认情况下似乎已启用)后,EmptyDataTemplateEmptyDataText无法正常工作。

要禁用适配器,请转到App_Browsers文件夹,然后在CSSFriendlyAdapters.browser文件中,注释掉以下部分(或与您使用的控件有关的部分):

<adapter controlType="System.Web.UI.WebControls.GridView"
               adapterType="CSSFriendly.GridViewAdapter" />

最大的问题是样式会消失。

关于asp.net - EmptyDataTemplate和EmptyDataText在GridView中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2966560/

10-10 16:05