GridView没有显示在ASP.NET中?

问题描述 投票:0回答:1

出于某种原因,我的网格视图未显示。在调试时,当我检查Results时,会从数据库中获取行和列。我正在使用一种视图来获取所需的字段。我尝试将AutoGenerateColumns设置为true,但是没有运气。我想念什么吗?

我的aspx页面:

<asp:Content ID="ContentMain" ContentPlaceHolderID="cphMain" runat="Server">
 <asp:Panel ClientIDMode="Static" ID="meritData" runat="server" Visible="false" CssClass="dataTable">
            <h5>Faculty Teaching Assignments</h5>
            <p id="pMeritMsg" runat="server" class="userMsg"></p>
            <asp:GridView ID="gridFTA" runat="server" AutoGenerateColumns="false"
                ShowHeaderWhenEmpty="true"
                ShowFooter="true"
                DataKeyNames="FacultyId">
                <Columns>
                    <asp:TemplateField HeaderText="Faculty Name">
                    <ItemTemplate>
                        <asp:Label ID="txtFacultyName" runat="server" Text='<%#Bind("FacultyName") %>'/>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:Label ID="lblFacultyName" runat="server" width="40px" Text='<%#Bind("FacultyName") %>'/>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="inFacultyName" width="140px" runat="server"/>

                    </FooterTemplate>
                </asp:TemplateField>
                 <asp:TemplateField HeaderText="Number Of Courses">
                      <ItemTemplate>
                         <asp:Label ID="lblNumberOfCourses" runat="server" Text='<%#Bind("NumberOfCourses") %>'/>
                     </ItemTemplate>
                     <EditItemTemplate>
                         <asp:TextBox ID="txtNumberOfCourses" width="70px"  runat="server" Text='<%#Bind("NumberOfCourses") %>'/>
                     </EditItemTemplate>
                     <FooterTemplate>
                         <asp:TextBox ID="inNumberOfCourses"  width="120px" runat="server"/>

                     </FooterTemplate>
                 </asp:TemplateField>
                 <asp:TemplateField HeaderText="Adjustment">
                     <ItemTemplate>
                         <asp:Label ID="lblAdjustment" runat="server" Text='<%#Bind("Adjustment") %>'/>
                     </ItemTemplate>
                     <EditItemTemplate>
                         <asp:Label ID="lblAdjustment" runat="server" visible = "false" Text='<%#Bind("Adjustment") %>' />
                     </EditItemTemplate>
                    <FooterTemplate>
                       <asp:TextBox ID="inAdjustment" width="50" runat="server" >
                                 </asp:TextBox>

                    </FooterTemplate>
                 </asp:TemplateField>
                    <asp:TemplateField HeaderText="Reason">
                     <ItemTemplate>
                         <asp:Label ID="lblReason" runat="server" Text='<%#Bind("Reason") %>'/>
                     </ItemTemplate>
                     <EditItemTemplate>
                         <asp:Label ID="lblReason" runat="server" visible = "false" Text='<%#Bind("Reason") %>' />
                     </EditItemTemplate>
                    <FooterTemplate>
                       <asp:TextBox ID="inReason" width="50" runat="server" >
                                 </asp:TextBox>

                    </FooterTemplate>
                 </asp:TemplateField>
                     <asp:TemplateField HeaderText="Course">
                     <ItemTemplate>
                         <asp:Label ID="lblCourse" runat="server" Text='<%#Bind("CourseNumber") %>'/>
                     </ItemTemplate>
                     <EditItemTemplate>
                         <asp:Label ID="lblCourse" runat="server" visible = "false" Text='<%#Bind("CourseNumber") %>' />
                     </EditItemTemplate>
                    <FooterTemplate>
                       <asp:TextBox ID="inCourse" width="50" runat="server" >
                                 </asp:TextBox>

                    </FooterTemplate>
                 </asp:TemplateField>

                 <asp:TemplateField>
                    <EditItemTemplate>
                        <asp:Button ID="ButtonUpdate" runat="server" CommandName="Update"  Text="Update"  />
                        <asp:Button ID="ButtonCancel" runat="server" CommandName="Cancel"  Text="Cancel" />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Button ID="ButtonEdit" runat="server" CommandName="Edit"  Text="Edit"  />        
                    </ItemTemplate>
                    <FooterTemplate>
                        <asp:Button ID="ButtonAdd" runat="server" CommandName="AddNew"  Text="Add New Faculty Teaching Assignment" />
                    </FooterTemplate>
                 </asp:TemplateField>
                </Columns>
            </asp:GridView>
</asp:Panel>
</asp:Content>

我后面的代码:

protected clsData moData = new clsData();

    protected void Page_Load(object sender, EventArgs e)
    {       
        if (!IsPostBack)
        {
            HttpContext.Current.Session["FTA"] = "";
            BindData("");

        }
    }

    protected void BindData(String FTA)
    {
        DataTable Results = moData.GetFTA(FTA);
        gridFTA.DataSource = Results;
        gridFTA.DataBind();
    }

数据库中的代码

public DataTable GetFTA(
       string FTA)
    {
        // Prepare connection
        SqlConnection conn = new SqlConnection(msConnString);

        // Prepare command
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = conn;
        cmd.CommandType = CommandType.Text;

        if (FTA == "")
        { cmd.CommandText = "Select * from View_FTA order by FacultyName"; }




        DataTable dt = new DataTable();

        try
        {
            conn.Open();
            dt.Load(cmd.ExecuteReader());
        }
        catch (Exception ex)
        {
            logException(ex);
        }
        finally
        {
            conn.Close();
        }

        return dt;
    }
asp.net gridview
1个回答
0
投票

您的asp:Panel已将Visible设置为false。这使ASP.NET引擎完全不呈现控件(及其内容)。

© www.soinside.com 2019 - 2024. All rights reserved.