asp.net 加载的时候添加了数据,点击添加按钮时没反映。

privatevoiddsAdd(){using(SqlConnectionconn=newSqlConnection(ConnStr)){SqlDataAdaptera... private void dsAdd()
{
using (SqlConnection conn = new SqlConnection(ConnStr))
{
SqlDataAdapter ad = new SqlDataAdapter
("Select * from PersonInfo", conn);
SqlCommandBuilder builder = new SqlCommandBuilder(ad);
ad.InsertCommand = builder.GetInsertCommand();
DataTable dt = new DataTable();
ad.Fill(dt);
this.txtName.Focus();
DataRow row = dt.NewRow();
row[0] = id;
row[1] = this.txtName.Text.Trim();
row[2] = this.txtSex.Text.Trim();
row[3] = this.txtBirthday.Text.Trim();
row[4] = this.txtPhone.Text.Trim();
row[5] = this.txtAddress.Text.Trim();
row[6] = this.txtZIP.Text.Trim();
dt.Rows.Add(row);
ad.Update(dt);
this.GridView1.DataSource = dt;
this.DataBind();
}
}这是添加的代码,不知道有没有错
展开
 我来答
guoxuanmingguo
2011-04-12 · 超过45用户采纳过TA的回答
知道答主
回答量:285
采纳率:78%
帮助的人:54.7万
展开全部
因为Gridview已经加载玩了,之后又databind(),服务器端记录的是之前的数据,并没有记录添加的数据。
这个添加的代码最好放在pageLoad里面执行,否则无效。
好像是这样,你看看!

点击按钮时,先执行pageLoad对控件初始化,然后才会执行button_click中的代码,Gridview在pageLoad中已经绑定了的数据,button里面的代码不起作用
以上内容可能有点错误:
今天又做了下试验,感觉真正 应该解决的是你在pageLoad中绑定的数据室应该在
if(!isPostBack)中,然后button中的数据bangding才能起作用,应该是最佳方案。
具体为什么,感觉应该是bangding的顺寻问题,在isPostBack中,数据就会bangding了,虽然还是进入pageLoad中
追问
点击添加时就提示:违反了PRIMARY KEY 约束 PK-PersonInfo 。不能在对象‘dbo.PersonInfo’中插入重复键语句已终止。          
row[6] = this.txtZIP.Text.Trim();
dt.Rows.Add(row);
ad.Update(dt);
this.GridView1.DataSource = dt;
this.DataBind();
点击添加时就提示:违反了PRIMARY KEY 约束 PK-PersonInfo 。不能在对象‘dbo.PersonInfo’中插入重复键语句已终止。          
row[6] = this.txtZIP.Text.Trim();
dt.Rows.Add(row);
ad.Update(dt);
this.GridView1.DataSource = dt;
this.DataBind();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式