Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# gridview中缺少数据_C#_Asp.net Mvc - Fatal编程技术网

C# gridview中缺少数据

C# gridview中缺少数据,c#,asp.net-mvc,C#,Asp.net Mvc,我创造了 DataTable dt = new DataTable(); dt.Columns.Add("Type"); dt.Columns.Add("Address1"); dt.Columns.Add("Address2"); dt.Columns.Add("PostalCode"); dt.Columns.Add("Country"); DataRow drow = dt.

我创造了

        DataTable dt = new DataTable();

        dt.Columns.Add("Type");
        dt.Columns.Add("Address1");
        dt.Columns.Add("Address2");
        dt.Columns.Add("PostalCode");
        dt.Columns.Add("Country");

        DataRow drow = dt.NewRow();

        drow["Type"] = ddlAddressType.SelectedItem.ToString();
        drow["Address1"] = txtAddress1.Text;
        drow["Address2"] = txtAddress2.Text;
        drow["PostalCode"] = txtPostalCode.Text;
        drow["Country"] = ddlCountry.SelectedItem.ToString();

        dt.Rows.Add(drow);

        Session["Address"] = dt;
尝试使用以下代码将值添加到gridview中:

public void populateAddressGridView()
{
    if (Session["Address"] != null)
    {
        DataTable dt = (DataTable)Session["Address"];

        if ((dt != null) && (dt.Rows.Count > 0))
        {
            AddressGridView.Visible = true;
            AddressGridView.DataSource = dt;
            AddressGridView.DataBind();
        }
        else
        {
            AddressGridView.Visible = false;
        }
    }
但添加新数据行后,字段为空,没有任何值。 如果启用自动生成字段,则可以查看生成的数据


如何解决这个问题?

在GridView的定义中,如果AutoGenerateColumns设置为false,请确保已定义。

在GridView的定义中,如果AutoGenerateColumns设置为false,请确保已定义。

我看得很对。调试时,能否确认会话对象正正确转换为数据表?演员表后面有行吗?代码是否到达了数据绑定方法?

在我看来是正确的。调试时,能否确认会话对象正正确转换为数据表?演员表后面有行吗?代码是否进入数据绑定方法?

是否需要注册

在使用Global.asax文件之前,会话[“Address”]变量在其中

还有赫克托


确保在web.config文件上启用了应用程序的会话状态

是否需要注册

在使用Global.asax文件之前,会话[“Address”]变量在其中

还有赫克托


确保在web.config文件上启用了应用程序的会话状态

听起来您需要设置AutoGenerateColumns=“false”,然后指定要在gridview中显示的列:

<asp:GridView ID="AddressGridView" runat="server" AutoGenerateColumns="false">
<Columns>
    <asp:BoundField HeaderText="Type" DataField="Type" />
    <asp:BoundField HeaderText="Address1" DataField="Address1" />
    <asp:BoundField HeaderText="Address2" DataField="Address2" />
    <asp:BoundField HeaderText="PostalCode" DataField="PostalCode" />
    <asp:BoundField HeaderText="Country" DataField="Country" />
</Columns>
<EmptyDataTemplate>
    No records were found matching your search criteria
</EmptyDataTemplate>
</asp:GridView>

未找到与搜索条件匹配的记录

听起来您需要设置AutoGenerateColumns=“false”,然后指定要在gridview中显示的列:

<asp:GridView ID="AddressGridView" runat="server" AutoGenerateColumns="false">
<Columns>
    <asp:BoundField HeaderText="Type" DataField="Type" />
    <asp:BoundField HeaderText="Address1" DataField="Address1" />
    <asp:BoundField HeaderText="Address2" DataField="Address2" />
    <asp:BoundField HeaderText="PostalCode" DataField="PostalCode" />
    <asp:BoundField HeaderText="Country" DataField="Country" />
</Columns>
<EmptyDataTemplate>
    No records were found matching your search criteria
</EmptyDataTemplate>
</asp:GridView>

未找到与搜索条件匹配的记录