2016-03-22 28 views
0

我最近接手了一個基於web的項目,寫的是vb.net(由一個在開始之前不知道vb.net的人寫的)。如何在VB.NET中使用post和獲取值?

當前項目使用webforms和onclick觸發器來獲取表單值。它從不發佈任何html表單數據。

這裏是一個基礎例子來說明什麼,我需要知道:

login.aspx的

<form name="LoginForm" action="auth.aspx?ref=LoginForm" method="post"> 
    <input type="text" name="username" /> 
    <input type="password" name="passphrase" /> 
    <input type="submit" value="Login"> 
</form> 

auth.aspx.vb

Dim ref as String = ??? 
Dim username As String = ??? 
Dim passphrase As String = ??? 

Dim strSQL As String = "SELECT usrId FROM Users WHERE UserName [email protected] AND Password [email protected]" 

dbCommand = New SqlCommand(strSQL, dbConn) 
dbCommand.Parameters.AddWithValue("@UserName", username) 
dbCommand.Parameters.AddWithValue("@ParamPass", passphrase) 
dr = dbCommand.ExecuteReader 

如何分配這些發佈並獲得這些變量的值?

+1

當不使用服務器端控件'(RUNAT =「服務器」)',你必須依靠的Request.Form到Request.QueryString –

+0

@ AllanS.Hansen能否請您複製該示例並顯示如何在示例中使用Request.Form/Request.Querystring並將其粘貼爲答案?這樣我可以將它標記爲正確並且滿足需要。謝謝。 – Nightwolf

+0

@ AllanS.Hansen爲什麼你要使用runat =「server」而不是提交表單?人們討厭內置功能的HTML嗎? – Nightwolf

回答

1

對於你的問題,我覺得這會工作:

Dim ref as String = Request.Querystring("ref") 
Dim username As String =Request.Form("username") 
Dim passphrase As String = =Request.Form("passphrase") 

正如我在評論中提到,如果不使用asp.net Web窗體的功能,你必須依靠(基本上)ASP版本的功能。
檢查這裏瞭解更多信息:http://www.w3schools.com/asp/coll_form.asp