问候。事实证明,我有一个Textbox
在失去焦点时会改变背景颜色的功能,这一切都要归功于我在JavaScript
. 后来我有另一个Textbox
可以完成PostBack
查询数据库所需的操作,这就是问题所在:
当第二个TextBox
发生时PostBack
,第一个的背景颜色将失去其由于 的功能而获得的属性JavaScript
。这是有道理的,我知道。
但是有没有什么办法可以让 PostBack 不影响从客户端获取的控件的特性呢?或者也许在其中做点什么Page_Load
?如果答案是后者,我不知道具体是什么。
为了让自己更好地理解,我已经尝试过这个script
:
document.getElementById('<%=Label1.ClientID%>').innerHTML= "Nuevo_texto";
以上更改了 a 的文本Label
,不是吗?
到目前为止,正常,但如果我再做 a PostBack
,它将Label
采用其默认值。
我该如何避免这种情况?这是可能的?
我能够修复它的方法是将控件的状态保存到服务器上的另一个控件,例如 field
HiddenField
。每当您的控件发生更改时,您都将更改作为属性添加到服务器控件。在回发时,您阅读控件信息并将其应用于您的控件。JS:
因此
Page_Load
,在进行回发时,您会读取 的属性HiddenField
并将其应用于控件:}
这样做
PostBack
时,webforms 不会将每个元素的样式信息发送到服务器,因为每次请求如此多的信息会很重。