ASP.NET中的GridView不显示有或没有数据

我正在添加一个GridView,然后从SQL Server数据库中显示数据。 问题是GridView没有在带有或没有数据的浏览器中显示。

这是我的代码:

 

 public partial class AdminPanel : System.Web.UI.Page { storelocatorDataSetTableAdapters.storedbTableAdapter tastore = new storelocatorDataSetTableAdapters.storedbTableAdapter(); storelocatorDataSetTableAdapters.View_1TableAdapter taview = new storelocatorDataSetTableAdapters.View_1TableAdapter(); List lststore = new List(); List lstview = new List(); protected void Page_Load(object sender, EventArgs e) { lstview = taview.GetData().ToList(); GridAllStore.DataSource = lstview; } } 

我认为问题是你没有定义任何要显示的列。 将AutoGenerateColumns设置为false时,必须显式定义列。

要确保基础工作正常,请将AutoGenerateColumns设置为true:

  

AutoGenerateColumns设置为true,分配的数据源和调用的DataBind() ,您应该开始看到一些数据。 一旦开始查看数据,就可以定义要显示的特定列。

由于您只需要在第一页加载时绑定网格,因此使用!Page.IsPostBack条件:

 protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { GridAllStore.DataSource = lstview; GridAllStore.DataBind(); } } 

将您的代码更改为:

 protected void Page_Load(object sender, EventArgs e) { lstview = taview.GetData().ToList(); GridAllStore.DataSource = lstview; GridAllStore.DataBind(); } 

并将GridView标记更改为:

  

注意到它现在是AutoGenerateColumns="True"因为这将显示数据并生成列。 您可能需要自定义显示的内容。 要做到这一点,因为你现在还不知道你在做什么,切换到设计视图,你可以编辑gridview模板。

查看此post以获得有关自定义输出的列和数据的一些帮助。 http://msdn.microsoft.com/en-us/library/bb288032.aspx

您是否尝试在设置数据源后立即添加以下行?

 GridAllStore.DataBind();