我似乎无法让EmptyDataTemplate或EmptyDataText的GridView工作。
我正在提取codebehind中的GridView内容,并使用DataBind()附加它们。我尝试将它们作为null和空List来使用,在这两种情况下,我放入EmptyDataTemplate或EmptyDataText中的文本都没有显示。
我做错了什么?
编辑(代码片段)
这是我的GridView:
<asp:GridView ID="grid" runat="server" EmptyDataText="EMPTY">
</asp:GridView>我试过这两种方法来绑定数据:
grid.DataSource = new List<object>();
grid.DataBind();
grid.DataSource = null;
grid.DataBind();发布于 2010-06-09 13:13:48
这个问题是由使用所谓的CSS友好控制适配器引起的.启用了它们(在默认情况下,它们似乎是启用的),EmptyDataTemplate和EmptyDataText就不能像预期的那样工作了。
若要禁用适配器,请转到App_Browsers文件夹,并在CSSFriendlyAdapters.browser文件中注释掉以下部分(或与您使用的控件相关的部分):
<adapter controlType="System.Web.UI.WebControls.GridView"
adapterType="CSSFriendly.GridViewAdapter" />最大的问题是风格会消失。
发布于 2011-06-03 19:53:51
我遇到了一个类似的问题,并注意到如果我的数据源是空的,我的DataBind就会忽略绑定方法。
发布于 2010-06-03 14:01:57
EmptyDataTemplate将覆盖任何EmptyDataText,因此您可能以某种方式错误地定义了模板,这使您无法看到EmptyDataText。
如果要将空列表绑定到GridView,则应该显示EmptyDataText,只要没有冲突的EmptyDataTemplate。
<%-- GridTest.ascx --%>
<asp:GridView ID="Grid" runat="server" EmptyDataText="No Data!" />
// GridTest.ascx.cs
Grid.DataSource = new List<object>();
Grid.DataBind();你在做什么不一样的事吗?
https://stackoverflow.com/questions/2966560
复制相似问题