Asp.net Viewstate没有保存控件的样式

时间:2012-03-15 01:33:05

标签: asp.net webforms

我已经读过asp.net中的viewstate在回发中存储控件属性的值。 假设我有一个包含文本框的页面

<asp:TextBox ID="fldFileId" runat="server"></asp:TextBox>

然后在客户端通过javascript,我得到一个元素的引用,然后设置边框样式

refToTextBox.style["border-style"] = "dashed";

回发后,边框样式消失,文本框恢复原始外观。但是在VS2010中浏览asp:TextBox的属性, 是一个'BorderStyle'属性。 是否有理由不将此属性保存在视图状态中?

1 个答案:

答案 0 :(得分:2)

设置客户端的值不会更新ViewState。您必须为ViewState设置样式服务器端以存储它。或者,您可以:

  1. 回发后重新运行JavaScript。
  2. 将样式存储在cookie中,并使用JavaScript恢复样式。
  3. 查找JavaScript库以修改客户端的ViewState (不推荐)。