Asp.net 如何解决“Policy_No”列不属于表的问题?
我有一个简单的界面,有一个文本框、按钮和一个gridview。我想在单击按钮时在gridview中显示数字。但我得到一个异常,说“Policy_No”列不属于表。我应该怎么做才能解决它。在这里,我添加了下面的代码 按钮点击事件Asp.net 如何解决“Policy_No”列不属于表的问题?,asp.net,gridview,buttonclick,Asp.net,Gridview,Buttonclick,我有一个简单的界面,有一个文本框、按钮和一个gridview。我想在单击按钮时在gridview中显示数字。但我得到一个异常,说“Policy_No”列不属于表。我应该怎么做才能解决它。在这里,我添加了下面的代码 按钮点击事件 protected void btnAdd_Click(object sender, EventArgs e) { dt = new DataTable(); dr = dt.NewRow(); dr["Policy_No"] = txtPolic
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_单击中创建新的数据表,但没有列策略\u No
您正在btnAdd_单击中创建新的数据表,但没有列策略\u No
在按钮单击事件中添加列定义
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();
}
从页面加载中删除dtDataTable的初始化
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
loadCompetitionsNames();
}
}
您可以使用会话在页面回发上保留dt数据在按钮单击事件中添加列定义
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();
}
从页面加载中删除dtDataTable的初始化
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
loadCompetitionsNames();
}
}
您可以使用session将dt数据保留在页面回发上它可以正常工作。谢谢你的回答。但我还是不能接受这个答案。但是我肯定会这样做。我怎样才能一个接一个地将多个值添加到网格中?你说的一个接一个是什么意思?要为每个按钮单击添加一行。在这段代码中,它将替换当前值。然后您需要将dt存储在会话中,或者可能在缓存中以检索旧值。它可以工作。谢谢你的回答。但我还是不能接受这个答案。但是我肯定会这样做。我怎样才能一个接一个地将多个值添加到网格中?你说的一个接一个是什么意思?要为每个按钮单击添加一行。在这段代码中,它将替换当前值。然后您需要将dt存储在会话中,或者可能在缓存中以检索旧值。