回发时的TextBox行为

时间:2019-05-10 22:43:23

标签: c# asp.net

经过长时间的中断,我将返回ASP.NET,并且确定我在做一些简单的错误操作,但是似乎无法解决问题。我有一个页面,其中包含一些控件(一些Literals和一个TextBox),我在Page_Load中的数据库查询中填充了这些控件的值。更改TextBox的值时,它会正确执行回发并触发TextBox_TextChanged方法,但它似乎还会重新执行Page_Load,因此用户输入的新值将被数据库中的原始值覆盖。我似乎能够找到防止这种情况的唯一方法是将设置控件值的行包装在if(!this.IsPostBack)中,效果很好,但是我很好奇是否有一种更优雅的方法做这个。

先谢谢您,

史蒂夫

1 个答案:

答案 0 :(得分:0)

您的意思是,“当TextBox的值更改时,它会正确执行回发并触发TextBox_TextChanged方法吗?”是什么原因导致回发?

请注意,TextChanged方法不能像JS(或类似方法)那样工作-每次击键都不会进行检查。实际上,它仅在完整的回发时触发,然后检查文本是否更改。

否则,您已经通过检查回发回答了自己的问题。