Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态创建的JavaScript函数不使用长参数_Javascript_Html_Asp.net_Internet Explorer - Fatal编程技术网

动态创建的JavaScript函数不使用长参数

动态创建的JavaScript函数不使用长参数,javascript,html,asp.net,internet-explorer,Javascript,Html,Asp.net,Internet Explorer,我有几个html标签是在ASP.NET中以编程方式生成的,其中JavaScript函数在href中使用长参数。其中一个在后端分配时有超过20K个字符,但我看到实际链接在浏览器端只有5239个字符,JavaScript函数没有关闭。所以这个链接永远不会起作用。我正在考虑这个实现的变通方法,因为在链接中放置这么多数据不是一个好主意,但现在我只是好奇这个问题的原因 将值分配给链接的代码示例: HtmlAnchor.HRef = "javascript:doSomething('Import','" +

我有几个html标签是在ASP.NET中以编程方式生成的,其中JavaScript函数在href中使用长参数。其中一个在后端分配时有超过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长度限制为2083个字符。但是链接怎么能显示为5239个字符呢?

我在代码中创建并调用类似javascript的动态函数时遇到了类似的问题。我发现我必须在javascript函数中使用双引号替换单引号或转义引号

再说一次,仅仅阅读你的文章可能是一个极限问题


您是否尝试过在后台将long赋值给一个元素,然后作为JavaScript的一部分引用它。我知道IE在传入的参数中使用空格会很有趣

不过我想我找到了这个问题的答案。根据:

JavaScript URI JavaScript协议用于bookmarklets(又名favlets),这是一种轻量级的扩展形式,允许用户单击按钮并在当前加载的页面上运行一些存储的JavaScript。在IE9中,团队做了一些工作,将长度限制(如果我没记错的话,从大约260个字符)放宽到更大(如果我没记错的话,大约5kb)


因此,我刚刚达到了~5kb的限制。

更改为
HtmlAnchor.OnClientClick=“doSomething('Import',“+strHeader_LineIds+”);”修复任何问题?可能是@GregBurghardt的副本,谢谢。这个问题的答案对我来说是有意义的,但我仍然想知道这个问题的原因,因为我在链接的长度上得到了一个奇怪的数字。