我运行程序时不显示GridView

时间:2013-02-04 09:37:57

标签: asp.net

我有一个与我的任务相关的问题,我正在使用GridView。当我运行程序时,GridView无法正常工作,我无法弄清楚为什么会这样。我已经配置了我的数据库,那里的一切都很好。我真的很感激这方面的一些帮助。

这是我的源代码:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="ProductMaintenance.aspx.cs" Inherits="ProductMaintenance" Title="Untitled Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    <style type="text/css">
        .style2
        {
            width: 125px;
        }
        .style3
        {
            width: 182px;
        }
    </style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <p>
        <h3 style="font-size: larger">Product Maintenance</h3><br />
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            EnableSortingAndPagingCallbacks="True" Width="664px" 
                        onrowdeleted="GridView1_RowDeleted" onrowupdated="GridView1_RowUpdated">
        </asp:GridView>
        <br />
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:TechSupport_DataConnectionString %>" 
            DeleteCommand="DELETE FROM Products WHERE (ProductCode = @Original_ProductCode) AND (Name = @Original_Name) AND (Version = @Original_Version) AND (ReleaseDate = @Original_ReleaseDate)" 
            InsertCommand="INSERT INTO Products(ProductCode, Name, Version, ReleaseDate) VALUES (@ProductCode, @Name, @Version, @ReleaseDate)" 
            SelectCommand="SELECT ProductCode, Name, Version, ReleaseDate FROM Products" 
            UpdateCommand="UPDATE Products SET Name = @Name, Version = @Version, ReleaseDate = @ReleaseDate WHERE (Name = @original_Name) AND (Version = @original_Version) AND (ReleaseDate = @original_ReleaseDate) AND (ProductCode = @original_ProductCode)">
            <DeleteParameters>
                <asp:Parameter Name="Original_ProductCode" />
                <asp:Parameter Name="Original_Name" />
                <asp:Parameter Name="Original_Version" />
                <asp:Parameter Name="Original_ReleaseDate" />
            </DeleteParameters>
            <UpdateParameters>
                <asp:Parameter Name="Name" />
                <asp:Parameter Name="Version" />
                <asp:Parameter Name="ReleaseDate" />
                <asp:Parameter Name="original_Name" />
                <asp:Parameter Name="original_Version" />
                <asp:Parameter Name="original_ReleaseDate" />
                <asp:Parameter Name="original_ProductCode" />
            </UpdateParameters>
            <InsertParameters>
                <asp:Parameter Name="ProductCode" />
                <asp:Parameter Name="Name" />
                <asp:Parameter Name="Version" />
                <asp:Parameter Name="ReleaseDate" />
            </InsertParameters>
        </asp:SqlDataSource>
        <br />
        To add a new product, enter the product information and clck Add product.<br />
        <asp:Label ID="lblError" runat="server" ForeColor="Red"></asp:Label>
        <br />
        <table class="style1">
            <tr>
                <td class="style2">
                    Product code:</td>
                <td class="style3">
                    <asp:TextBox ID="txtProductCode" runat="server"></asp:TextBox>
                </td>
                <td>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                        ControlToValidate="txtProductCode" 
                        ErrorMessage="Product code is a required field"></asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td class="style2">
                    Name:</td>
                <td class="style3">
                    <asp:TextBox ID="txtName" runat="server"></asp:TextBox>
                </td>
                <td>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                        ControlToValidate="txtName" ErrorMessage="Name is a required field"></asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td class="style2">
                    Version:</td>
                <td class="style3">
                    <asp:TextBox ID="txtVersion" runat="server"></asp:TextBox>
                </td>
                <td>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
                        ControlToValidate="txtVersion" ErrorMessage="Version is a required field"></asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td class="style2">
                    Release date:</td>
                <td class="style3">
                    <asp:TextBox ID="txtReleaseDate" runat="server"></asp:TextBox>
                </td>
                <td>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" 
                        ControlToValidate="txtReleaseDate" 
                        ErrorMessage="Release date is a required field"></asp:RequiredFieldValidator>
                </td>
            </tr>
        </table>
        <br />
        <asp:Button ID="btnAdd" runat="server" Text="Add Product" Width="130px" 
        onclick="btnAdd_Click" />
    </p>
</asp:Content>

3 个答案:

答案 0 :(得分:0)

首先制作AutoGenerateColumns = true

然后,

protected void Page_Load(object sender, EventArgs e)
{ 
    GridView1.DataBind();
}

答案 1 :(得分:0)

你必须给GridView1.DataSource = SqlDataSource1; 然后在GridView1.DataBind();事件中Page_Load

您必须将AutoGenerateColumns设置为true或将列提供为您要显示的Bound - 或TemplateFields。

OR AutoGenerateColumns="True"将显示数据并生成列。您可能需要自定义显示的内容。为此,请切换到设计视图,然后您可以编辑gridview模板。

答案 2 :(得分:0)

由于您设置了AutoGenerateColumns =“False”,因此您需要添加

等列
<Columns>
 <asp:BoundField ....
   .
   .
   .
   .
 </Columns>

否则你必须设置AutoGenerateColumns =“True”

另一件事:您忘了将DataSourceID分配给GridView。

您应该在GridView标记内具有以下属性:

DataSourceID = "SqlDataSource1"

我希望它可以帮到你。