【发布时间】:2016-01-29 21:53:59
【问题描述】:
我有几个在 ASP.NET 中以编程方式生成的 html A 标记,其中一个 JavaScript 函数在 href 中采用 long 参数。其中一个在后端分配时有超过 20K 个字符,但我看到实际链接在浏览器端只有 5239 个字符,并且 JavaScript 函数没有关闭。所以链接永远不会起作用。我正在考虑这个实现的解决方法,因为将这么多的数据放在链接中并不是一个好主意,但现在我只是对问题的原因感到好奇。
为链接赋值的代码示例:
HtmlAnchor.HRef = "javascript:doSomething('Import','" + strHeader_LineIds + "');"
在这种情况下,变量 strHeader_LineIds 携带超过 20k 个字符的字符串。
我在客户端实际看到的示例:
<a id=anchor1 class=class1 href="javascript:doSomething('Import', 'blahblahblahblah....">Link Text</a>
请注意 javascript 函数在这里没有关闭。但是当我在后端调试时,我确实看到了函数的关闭。
我猜这个问题可能与浏览器的 URL 限制有关?我正在使用 IE,我了解到 IE 的最大 URL 长度限制为来自 Here 的 2,083 个字符。但是 5,239 个字符的链接怎么会显示出来呢?
【问题讨论】:
-
改成
HtmlAnchor.OnClientClick = "doSomething('Import', '" + strHeader_LineIds + "');";能解决什么问题吗? -
@GregBurghardt 谢谢。回答这个问题对我来说确实有意义,但我仍然想知道这个问题的原因,因为我在链接的长度中得到了一个奇怪的数字。
标签: javascript html asp.net internet-explorer