关于textbox控件内容更新的问题。

gootey 2011-02-20 07:18:21
我想用两个textbox来显示出标题和内容,然后在这两个textbox上进行编辑,编辑完了,点一个按钮,把更新过的内容写到数据库里去,但是我的这种做法没有达到预想的效果,大哥们来帮忙解决一下。

[code=C]
protected void Page_Load(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["WHConn"].ConnectionString;
SqlConnection conn = new SqlConnection(constr);
conn.Open();
//根据地址栏从数据库里读出相关的数据
string comstr = "select * from news where id ='" +Request.QueryString["id"]+"'";
DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(comstr , conn);
sda.Fill(ds,"news");
DataRow dr = ds.Tables["news"].Rows[0];
TextBox1.Text = dr["title"].ToString();
TextBox2.Text = dr["content"].ToString();
conn.Close();
}
protected void Button1_Click(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["WHConn"].ConnectionString;
SqlConnection conn = new SqlConnection(constr);
conn.Open();
string upstr = " update news set title = '" + TextBox1.Text.ToString().Trim() + "',content='" + TextBox2.Text.ToString().Trim() + "' where id = '" + Request.QueryString["id"] + "'";
SqlCommand comm = new SqlCommand(upstr,conn);
comm.ExecuteNonQuery();
Response.Redirect("manage_new.aspx");
}

[/code]
...全文
117 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mark4ever 2011-02-20
  • 打赏
  • 举报
回复
楼主需要注意一个问题
IsPostBack的属性是 判断 页面是第一次请求 还是回发页面
绑定数据不必每次页面创建时都绑定。
按照逻辑,绑定数据的操作应该出现在
protect void Page_PreRender(object sender, EvertArgs e)
{
}
这个事件里面
mark4ever 2011-02-20
  • 打赏
  • 举报
回复
晕。。。 你都已经结贴了。。
gootey 2011-02-20
  • 打赏
  • 举报
回复
感谢你们。
dalmeeme 2011-02-20
  • 打赏
  • 举报
回复
单击Button后,先执行了Page_Load方法,因此文本框里又被改成了原来的值。然后再执行Click方法,所以无效。!IsPostBack表示是否是单击按钮回发引起的请求,如是,就不执行后面的代码。
wuyq11 2011-02-20
  • 打赏
  • 举报
回复
Page.IsPostBack 是用来检查目前网页是否为第一次加载,当第一次浏览这个网页时Page.IsPostBack 会传回False,不是第一次浏览这个网页时就传回True
dalmeeme 2011-02-20
  • 打赏
  • 举报
回复
where id = '" + Request.QueryString["id"]
估计问题出在这里,条件不成立,所以没有更新。直接用where id='1'试试(假设id是1)
另外,数据库连接要关闭:
comm.ExecuteNonQuery();
conn.Close();
gootey 2011-02-20
  • 打赏
  • 举报
回复
感谢

wuyq11

(人生如梦)

我的问题总是在你出现的时候得到解决。谢谢。不过能不能具体介绍一下 这个Ispostback在这里的作用。再次谢谢。
gootey 2011-02-20
  • 打赏
  • 举报
回复
我估计这问题可能出在这里:
因为我之前就是用这两个textbox来显示文本的,然后后来又在这两个textbox上进行编辑,是不是显示的时候,缓存里还存着textbox.text这些什么的。也就是说,其它点按钮的时候,确实是把数据重新写进数据库了,但是还是把原来的东西原封不动的又写进去了,所以就没有更新。只是猜的,呵呵。

跪求帮助。
wuyq11 2011-02-20
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{
if(!IspostBack)
{
string constr = ConfigurationManager.ConnectionStrings["WHConn"].ConnectionString;
//绑定数据
}
}
gootey 2011-02-20
  • 打赏
  • 举报
回复
嗯,没有更新。
mark4ever 2011-02-20
  • 打赏
  • 举报
回复
说详细一些,出现了什么错误?还是没有更新?

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧