【问题标题】:Getting values from viewstate using JQuery?使用 JQuery 从视图状态获取值?
【发布时间】:2009-07-12 08:54:50
【问题描述】:

是否可以使用 JQuery 从视图状态中获取特定值....

我正在开发一个自定义控件。它使用jquery,嵌入到控件本身来操作文本框中的值...我需要实现最小值和最大值...属性设置在控件中,并存储在视图状态中...而不是使用隐藏的输入字段,我宁愿只是将信息从视图状态中拉出来并以这种方式使用....有可能吗?

谢谢

【问题讨论】:

    标签: asp.net jquery viewstate


    【解决方案1】:

    简短的回答是在某些情况下您可以这样做,但这确实不是一个好主意。

    如果您正在编写控件供他人使用,ViewState 将无法正常工作。默认情况下,ViewState 是 Base64 编码的,这很容易解码,但您控制的用户可能希望加密他们的 ViewState 数据,在这种情况下您会被淹没。

    如果您正在编写控件供自己使用,并且您只需要从ViewState读取,您可以这样做,但我不建议这样做除非您找到一个调试良好的库来为您解析它。格式有点毛茸茸(详情请参阅ViewState: All You Wanted to KnowUnderstanding ASP.NET ViewState)。

    正如您所提到的,使用标准隐藏字段是一个不错的选择,或者您可以将另一个 javascript 块注入到您的页面中,以便在控件设置它们的任何点设置变量值。

    【讨论】:

    • 感谢您的信息...我不确定这是否可能/是否值得...这很可能会被分享,所以我将远离视图状态.
    【解决方案2】:

    您还可以将最小值和最大值输出为文本框的自定义属性(如果您想保留 xhtml 有效性,甚至可以命名它们);那么您可以将它们引用为 $thebox.attr('min')$thebox.attr('max') 或类似名称。

    【讨论】:

    • 除了添加一个 if 语句之外,我会说这是最容易实现的,无需对代码进行重大更改...在渲染上我刚刚添加带有 min 和 max 的附加属性,只是用 .attr 放入 jquery 中......它有点复杂,因为我使用“this”的兄弟作为按钮并拉回“input”框.. . 但是一旦你过去了,它就很简单了。
    猜你喜欢
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 2021-12-01
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    相关资源
    最近更新 更多