【问题标题】:query string length issue in IEIE中的查询字符串长度问题
【发布时间】:2014-01-14 06:13:20
【问题描述】:

我们有一个 ASP .NET 4.0 应用程序。我们通过查询字符串在页面之间传输数据。在一种情况下,我们将大数据移动到大约 7000 个字符的下一页。我们收到查询字符串长度错误。然后我们尝试增加 Web.config 中的 maxquerystring 长度。现在它没有抛出任何错误,但 IE 将 URL 减少到 2k 并打开页面。完整的查询数据不会传递到页面。有没有增加IE URL长度的选项?

【问题讨论】:

  • 糟糕的设计。最好找到其他方式来传输您的数据。
  • 我同意@Aristos 查询字符串的最大长度也因浏览器而异 - 请参阅stackoverflow.com/questions/812925/… 你不能使用数据库甚至会话状态来保存数据吗?
  • 请发布数据而不是QueryString或使用server.transfer方法
  • 是的,我们知道这不是最好的主意。但是我们不能使用会话。 bcoz 将打开多个窗口。我们不能每次都访问数据库。还有其他选项可以将数据移动到下一页吗?
  • 死路一条,查询字符串限制是浏览器本身内置的。您必须重构代码,而不是在查询字符串上传递数据。有很多替代方案,大多数“故障安全”是将所有数据存储在数据库中,并且只在查询字符串或 cookie 上传递唯一的用户/访问者 ID。

标签: asp.net internet-explorer .net-4.0 query-string


【解决方案1】:

请试试这个:

创建一个隐藏变量,通过Request["Variable Name"]获取这个隐藏变量

<input type=hidden name="Test" value="99" /> In ASPX Page
string xyx=Request.Form["test"].ToString(); - Code Behind

这里是示例:我创建了两个页面 1. Default.aspx 和 WebForm1.aspx。请参考附图:

【讨论】:

  • 如何将数据传到下一页?对不起,我真的没明白。
【解决方案2】:

只是吐口水-在您的 cmets 中,您不想发布,也不想 db,也不想(服务器)会话,我认为(已明确)querystring 方法不是/不是去吧,然后根据你的需要/要求/观众,也许看看DOM/web/local storage...

第...

【讨论】:

    猜你喜欢
    • 2014-08-18
    • 2015-10-15
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多