我正在尝试使用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>
答案 0 :(得分:0)
achievementTable对页面加载事件而言是本地的。在类级别将其至少移动到受保护的变量,您的视图将可以使用它。