繁体   English   中英

在经典ASP中传递查询字符串参数时出错

[英]Error in passing Query string parameter in classic asp

我使用的是经典的ASP,对语法不太熟悉,我的父页面上有此JavaScript

function redirect(ID)
{
 document.frmMain.action = "manual.asp?ID=" + ID;
 alert('manual.asp?ID='+ID)
 document.frmMain.submit();
}

但是当我在新的ASP页面上捕获它时,相同的ID变成空的。

<%   
SQLStr = "SELECT * FROM tblUsers WHERE ID='" & Request.QueryString("ID") & "'"
set rst = DataConn.Execute(SQLStr)
Denied = 1
while not rst.eof
    Denied = 0
    rst.movenext
wend
rst.close
if Denied = 1 then  
%>

有人可以帮我这个忙吗?

如果您用于重定向的表单为空,则最好使用window.location进行此任务

function redirect(id) {
    window.location.href = "manual.asp?id=" + id;
}  

如果表单不为空,则必须为id添加一个字段,并用参数填充它。

<form name="frmMain" action="manual.asp" method="get">
    <input type="text" name="paramter1" value="1" />
    <!-- hidden value for the id -->
    <input type="hidden" name="id" value="" />
</form>


function redirect(id) {
    var form = document.frmMain;
    form.id.value = id;
    form.submit();
}

但是您仍然必须检查id参数是否存在任何可能破坏数据库的非法字符,请读我

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM