因为asp是在服务器端运行,而js是在浏览器端运行的,所以当服务器在解析asp脚本的时候无法调用js变量。
要想在asp中使用js的变量,只能通过传参的方式传递给服务器,例如
<script type="text/javascript">function getUrlParms(code){
var reg = new RegExp("(^|&)"+ code +"=([^&]*)(&|$)")
var r = window.location.search.substr(1).match(reg)
if(r!=null)
return unescape(r[2])
return null
}
<%
if Request.QueryString("id") = "" then
%>
var id = getUrlParms("code")
location.href = location.href + "?id=" + id
<%
else
response.Redirect "/download=" & Request.QueryString("id")
end if
%>
</script>
ASP里当然不能直接使用JS的变量,两者是完全不同的东西,运行环境和解析器都不同。你把<script language="javascript">改成<script language="javascript" runat="server">试试。asp.net中如何引用js的几种方式一、在cs中直接加入js代码<script>function settext(){......}</script>二、引用js文件可以在aspx文件加入:<HEAD><script language="javascript" src="***/***.js"></script></HEAD>或<HEAD><script src="../Js/aa.js" type="text/javascript"></script></HEAD>script 即是你引用JS的地方。src后面的是你JS所在的路径