如何解决 Column 'Policy_No' does not belongs to table?

How to solve Column 'Policy_No' does not belong to table?

我有一个简单的界面,它有一个文本框、按钮和一个网格视图。单击按钮时,我想在 gridview 中显示数字。但是我得到一个 ArgumentException 说 "Column 'Policy_No' does not belong to table"。我该怎么做才能解决它。在这里,我添加了下面的代码。

按钮点击事件

protected void btnAdd_Click(object sender, EventArgs e)
{
    dt = new DataTable();
    dr = dt.NewRow();
    dr["Policy_No"] = txtPolicy.Text.Trim();
    dt.Rows.Add(dr);
    grdPolicy.DataSource = dt;
    grdPolicy.DataBind();
}

页面加载代码

protected void Page_Load(object sender, EventArgs e)
{
    dt = new DataTable();
    dt.Columns.Add(new DataColumn("Policy_No", typeof(string)));
    if (!IsPostBack)
    {
        loadCompetitionsNames();
    }
}

您正在 btnAdd_Click 中创建 new DataTable 而没有 column Policy_No

protected void btnAdd_Click(object sender, EventArgs e)
{
        //dt = new DataTable();   Remove this line
        dr = dt.NewRow();
        dr["Policy_No"] = txtPolicy.Text.Trim();
        dt.Rows.Add(dr);
        grdPolicy.DataSource = dt;
        grdPolicy.DataBind();

        Session["PolicyTable"] = dt;
}

protected void Page_Load(object sender, EventArgs e)
{
       if(Session["PolicyTable"] !=null)
          dt = Session["PolicyTable"] as DataTable;
       else
          dt = new DataTable();

       if (!dt.Columns.Contains("Policy_No"))
            dt.Columns.Add(new DataColumn("Policy_No", typeof(string)));

        if (!IsPostBack)
        {
             loadCompetitionsNames();

        }
}

在按钮点击事件中添加列定义

public DataTable GetGridData()
{
    dt = new DataTable();
    dt.Columns.Add(new DataColumn("Policy_No", typeof(string)));
    dr = dt.NewRow();
    dr["Policy_No"] = txtPolicy.Text.Trim();
    dt.Rows.Add(dr);
    return dt;
} 

protected void btnAdd_Click(object sender, EventArgs e)
{
    grdPolicy.DataSource = GetGridData();
    grdPolicy.DataBind();
}

从页面加载中删除 dt(DataTable) 的初始化

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
         loadCompetitionsNames();
    }
}

您可以使用会话在页面回传上保留 dt 数据