参数传递从ASPX到JavaScript的问题 [英] passing parameter from aspx to javascript issue

查看:149
本文介绍了参数传递从ASPX到JavaScript的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写在asp.net后端code来传递参数,但是,我发现,如果该参数是这么长时间它不工作。
在后端:

I write code in asp.net backend to pass parameter, however, I found that it does not work if the parameter is so long. In the backend:

folderList.InnerHtml += "<span onclick='AttachId(" + folder.Id + ")'>" + folder.DisplayName + "</span>";

在前台:

function AttachId(id) {
            $("[id$='hf_FolderId']").val(id);
            $("[id$='btn_Move']").click();
        }

参数<$c$c>folder.Id=\"AQMkAGQ2YzBkYjkxLWZjNTYtNDAwAS1hZWY2LWQ3OWI2MDkxZTE2ZAAuAAAD82EfyZcOUkeLGnLBkE1iOgEA04D3/FOc8ES6LdlZ5/AXHgAAAQRaEQAAAA==\"

如果我将其更改为123它的工作原理。任何想法?

If I change it to "123" it works. Any idea?

或者你可以让我知道一个更好的方法来从后向前传递的参数。非常感谢。

Or maybe you could let me know a better way to pass parameter from back to front. Many thanks.

推荐答案

行情。 123 是一个数字,因此JavaScript是与它的罚款。如果您尝试 ABC ,我敢打赌,它失败也是如此。添加引号到您的字符串中的标记,它应该工作。

Quotes. 123 is a number so JavaScript is fine with it. If you try abc, I bet it fails as well. Add quotes to your string in the markup and it should work.

folderList.InnerHtml += "<span onclick='AttachId(\"" + folder.Id + "\")'>" + folder.DisplayName + "</span>";

使用字符串连接生成HTML总是容易出错。请记住,JavaScript的字符串需要被引用作为是否HTML属性它包含在。由于您使用您的属性单引号,则必须使用双引号或htmlen codeD单引号你的JavaScript。这应该工作:

Using string concatenation to generate HTML is always error prone. Remember, the JavaScript string needs to be quoted as does the HTML attribute it is contained in. Since you are using single quotes for your attribute, you must use either double quotes or htmlencoded single quotes for your JavaScript. This should work:

"... onclick='AttachId(\"" + folder.Id + "\")'>" + ...

这篇关于参数传递从ASPX到JavaScript的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆