开发了一个asp.net自定义服务器控件(继承自TextBox),在OnPreRender中为其
1、添加了一个OldValue属性:base.Attributes.Add("OldValue", this.Text);
2、设定了onkeydown事件:onkeydown = "GetOldValue(this);" 脚本为:function GetOldValue(ctrl){var obj=$("#" + ctrl.id); obj.attr("OldValue", obj.val());
使用时,将其放在一个UpdatePanel中,在未提交局部刷新前,在其onkeyup事件中能用脚本:var obj=$("#" + ctrl.id); obj.attr("OldValue")获取其值,一旦提交后第一次触发onkeyup发现该值变为了0。
调试发现,如果在OnPreRender事件中的第一句前加上:if(this.Page.IsPostBack) return; ,则提交无刷新后也能继续保持提交前的OldValue,但是这样也就导致控件的其他效果和绑定事件丢失。
麻烦帮助解决一下,谢谢!!!