【问题标题】:Keep ASP.NET ViewState without being passed via QueryString保持 ASP.NET ViewState 不通过 QueryString 传递
【发布时间】:2011-07-19 20:22:24
【问题描述】:

我有一个表单,它的方法是“get”,分别将变量及其值传递给查询字符串。但是,它也会在查询字符串中传递 viewstate 变量。现在,我在给定页面上有一个很长的 viewstate 值,如果传入查询字符串,viewstate 变量将导致页面出错,因为“查询字符串太长”也太长了一个网址。

我不能仅仅删除 viewstate 变量——我需要它。但是我需要在提交表单时通过某种方法而不是 get 传递 viewstate 变量,而表单的其他输入(非隐藏输入)被附加到查询字符串中。有没有办法做到这一点?

【问题讨论】:

  • 是什么在你的视图状态中使它如此大?如果您要序列化整个对象或对象列表,请尝试仅传递这些对象的 ID,而不是完全序列化的数据。是的,您需要再次访问缓存或数据库,但这也会减少与客户端之间传输的数据量。

标签: asp.net vb.net query-string viewstate


【解决方案1】:

你能不能把方法改成“post”,然后用 request.form 来获取你的变量?

否则,您也许可以使用会话对象... ...或可序列化的类对象 ...或数据库中的临时表

几个不同的选项

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    相关资源
    最近更新 更多