问题是你不能只使用 JS 与服务器端通信,JS 是客户端,所以你不会得到你在服务器端创建的变量。
要获得它们,您需要:
<%= write_the_thing_here %>
对于您的代码,您将编写:
string someThing = "<%= HttpUtility.HtmlEncode(Request.QueryString[0]) %>";
// now use this someThing in the document..you can use var instead of string
// but not them both..
document.getElementById(someThing);
// note the semicolon on the end, to close it..
您不应该使用string var
它们,因为它们是 JavaScript 和 ASP.NET 中的数据类型,因此代码可能会在想这到底是什么时感到困惑。
取而代之的是,您还可以尝试将隐藏的输入字段编写为
<input type="hidden" name="someThing" value="@Request.QueryString[0]" />
然后用它来动态地做任何你想做的事情。如果您真的想使用来自服务器的 ID,这可能是执行此操作的简单方法。
对不起 jQuery 好友:
var someThinge = $('input[type="hidden"]').val();
然后,继续你的工作!
Alexei Levenkov的帮助说明:JavaScript 中的分号是可选的。它们的主要用途是区分代码是由混淆器/最小化器(工具或人)还是普通开发人员编写的:)