2012-11-08 25 views
0

將表單值從標準html表單傳遞到asp頁面時工作正常,但嘗試手動傳遞它們不會。這是ASP經典的一些奇怪嗎?大綱的情況,我有以下的標準形式:將表單數據手動傳遞到經典的asp頁面失敗

<form name="login" id="login" method="post" action="login_process.asp"> 
<input name="userName" type="text" size="30" maxlength="100" /> 
<input name="password" type="password" size="30" maxlength="100" /> 
<input name="Submit" type="submit" class="btn" value="Login" /> 
</form> 

在接收端(login_process.asp),我有這樣的:

if Request.Form("Username") <> "" and Request.Form("Password") <> "" then 
' do stuff here 

現在奇怪的是,這種形式一直多年的實際工作。但如果我嘗試手動傳遞值login_process.asp值永遠不會成功:

www.zzz.com/login_process.asp?username=some_user&password=some_password 

我增加了一些檢查,以login_process.asp,看看我是否可以拉從提交瓦爾他們像這樣被處理之前:

myUsername = request.form("Username") 
myPassword = request.form("Password") 
response.write "user=" & myUsername 
response.write "pass=" & myPassword 

和所有我得到的是

user=pass= 

如此明顯的數據是沒有得到通過。但爲什麼?我忽略了什麼?傳遞表單數據是基本的東西,所以給出了什麼?

任何洞見讚賞!

回答

2

如果您將它們傳遞給查詢字符串,則不再使用該表單,因此Request.Form將不起作用。您需要使用Request.QueryString代替。

更多信息here

+0

感謝史蒂夫!並詛咒我缺乏ASP知識! – Rafe

+0

沒問題,很高興我可以幫助:) –

0

我們可以使用「的Request.Form」獲得表單字段數據到其他頁面。對於此請嘗試以下代碼:

<form name="login" id="login" method="post" action="login_process.asp"> 
<input name="userName" type="text" size="30" maxlength="100" /> 
<input name="password" type="password" size="30" maxlength="100" /> 
<input name="Submit" type="submit" class="btn" value="Login" /> 
</form> 

而且我們得到login.process.asp頁面表單數據是這樣的:

<% Response.Write(Request.Form("userName")) %> 

它會顯示Username值

相關問題