我似乎无法使EmptyDataTemplate
的EmptyDataText
或GridView
正常工作。
我正在de codebehind中获取GridView
内容,并使用DataBind()
附加它们。我尝试将它们作为null
和空的List
设置,在两种情况下,都不会显示我放入EmptyDataTemplate
或EmptyDataText
的文本。
我究竟做错了什么?
编辑(代码段)
这是我的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引起的。启用它们(默认情况下似乎已启用)后,EmptyDataTemplate
和EmptyDataText
无法正常工作。
要禁用适配器,请转到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/