asp:TextBox诡异的地方:更改文本后Text属性不会变?

Zimmerk 2012-01-21 06:48:25
aspx页面
<asp:TextBox ID="TbName" runat="server" />

数据是用Linq to SQL读取出来的

DataContext db = new DataContext();
private T_Person tmpPerson;
......
protected void Page_Load(object sender, EventArgs e)
{
var query = from person in db.T_Person where person.ID == 1 select person;
if (query.Count() > 0)
tmpPerson = query.First();
TbName.Text = tmpPerson.Name.Trim();
}

protected void SaveData()
{
T_Person person;
if (tmpPerson != null)
person = tmpPerson;
person.Name = TbName.Text; // 这句下断点,修改文本框内容后提交,TbName.Text值没变!
.......
}


代码应该没错,同一段代码,如果是创建新记录就能正常保存,能正常读到TbName能内容,但如果是修改就不行
编辑内容能正常从数据库中读取内容出来并赋值给TbName.Text,也能正常显示。

以上代码只是一小段,因为太多了没贴出来,不知道这是什么原因,希望大家帮帮忙啊。。
...全文
168 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zimmerk 2012-01-24
  • 打赏
  • 举报
回复
没有人回复,分全给你们了。。
jayrao5566 2012-01-21
  • 打赏
  • 举报
回复
第一次加载就绑定.
缪军 2012-01-21
  • 打赏
  • 举报
回复
我看了第一眼就看出来缺少判断,没想到楼主自己解决了
缪军 2012-01-21
  • 打赏
  • 举报
回复
我不要分,让给后面的
Zimmerk 2012-01-21
  • 打赏
  • 举报
回复 1
解决了,原来是在Page_Load中没有检测IsPostBack,导致文本框又一次被赋值。
只要
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// 绑定数据
}
}

就行了。。

大家来接分吧
1L:50%
2L:30%
3L:10%
4L:10%

62,073

社区成员

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

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

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

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