【发布时间】:2009-07-12 08:54:50
【问题描述】:
是否可以使用 JQuery 从视图状态中获取特定值....
我正在开发一个自定义控件。它使用jquery,嵌入到控件本身来操作文本框中的值...我需要实现最小值和最大值...属性设置在控件中,并存储在视图状态中...而不是使用隐藏的输入字段,我宁愿只是将信息从视图状态中拉出来并以这种方式使用....有可能吗?
谢谢
【问题讨论】:
是否可以使用 JQuery 从视图状态中获取特定值....
我正在开发一个自定义控件。它使用jquery,嵌入到控件本身来操作文本框中的值...我需要实现最小值和最大值...属性设置在控件中,并存储在视图状态中...而不是使用隐藏的输入字段,我宁愿只是将信息从视图状态中拉出来并以这种方式使用....有可能吗?
谢谢
【问题讨论】:
简短的回答是在某些情况下您可以这样做,但这确实不是一个好主意。
如果您正在编写控件供他人使用,ViewState 将无法正常工作。默认情况下,ViewState 是 Base64 编码的,这很容易解码,但您控制的用户可能希望加密他们的 ViewState 数据,在这种情况下您会被淹没。
如果您正在编写控件供自己使用,并且您只需要从ViewState读取,您可以这样做,但我不建议这样做除非您找到一个调试良好的库来为您解析它。格式有点毛茸茸(详情请参阅ViewState: All You Wanted to Know 和Understanding ASP.NET ViewState)。
正如您所提到的,使用标准隐藏字段是一个不错的选择,或者您可以将另一个 javascript 块注入到您的页面中,以便在控件设置它们的任何点设置变量值。
【讨论】:
您还可以将最小值和最大值输出为文本框的自定义属性(如果您想保留 xhtml 有效性,甚至可以命名它们);那么您可以将它们引用为 $thebox.attr('min') 和 $thebox.attr('max') 或类似名称。
【讨论】: