GridView不显示在网页上

时间:2018-08-10 15:52:53

标签: c# asp.net gridview

我正在尝试使用gridview显示数据库中的数据,但是似乎无法使gridview显示在页面上。我插入了一个断点,并且gridview在数据源中显示了正确的行数,并且在databind之后在gridview中显示了正确的行数。我仍然没有在网页上显示任何内容,当检查应使用chrome的位置时,我看到了标题标签,但与gridview无关。我在做什么错了?

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string id = Request.QueryString["profileID"];
        GridView achievementTable = new GridView();
        AchievementDatabaseTableAdapters.UserGamesTableAdapter UserGamesAdapter = new AchievementDatabaseTableAdapters.UserGamesTableAdapter();
        AchievementDatabase.UserGamesDataTable userGames = UserGamesAdapter.GetUserGames();
        achievementTable.DataSource = userGames.Select("ProfileID =" + id).CopyToDataTable();
        achievementTable.DataBind();
    }
}

.aspx代码

<%@ Page Title="Profile" Language="C#" AutoEventWireup="true" CodeBehind="Profile.aspx.cs" 
    MasterPageFile="~/Site.Master" Inherits="AchievementProject.Profile" %>

<asp:Content ID="ProfileContent" ContentPlaceHolderID="MainContent" runat="server">
    <h2><%: Title %></h2>
    <asp:Gridview ID="achievementTable" runat="server" AutoGenerateColumns="True" 
        ShowHeaderWhenEmpty="true" EmptyDataText="Failed"></asp:Gridview>
</asp:Content>

1 个答案:

答案 0 :(得分:0)

achievementTable对页面加载事件而言是本地的。在类级别将其至少移动到受保护的变量,您的视图将可以使用它。