Solved

WEB Form POST in code behind

Posted on 2009-05-06
3
1,006 Views
Last Modified: 2013-11-26
How would I accomplish this in vb code behind?


<form name="DateSelect" runat="server" action="http://www.domaincom/reserve.php" method="POST" target="_self">
<input type="hidden" name="cust_memberid" value="EX80000">

---MORE HIDDEN INPUTS-----
<input id="Submit1" type="submit"
    value="submit" OnClick="return checkDates(this.form)"/>
</form>



I have the code below and need to modify the second sub to get the post back with however the "return checkDates..."  is working


....blah...blah...blah...
 
_wXML &= "<input type=""hidden"" name=""numrooms"" value=""2"">"
_wXML &= "<input type=""hidden"" name=""sh"" value=""yes"">"
_wXML &= "<input type=""hidden"" name=""lang"" value=""en"">"
_wXML &= "<input type=""hidden"" name=""grp"" value=""exotictrav"">"
 
 GetReservationsInventory("http://www.reservationdomain.com/reserve.php", _wXML)
 
 
Public Sub GetReservationsInventory(ByVal URI As String, ByVal Parameters As String)
        Dim req As System.Net.WebRequest = System.Net.WebRequest.Create(URI)
 
        Dim request As HttpWebRequest
        Dim response As HttpWebResponse = Nothing
        Dim ds As DataSet
 
        Try
            ' Create the web request   
            request = DirectCast(WebRequest.Create(URI), HttpWebRequest)
            request.ContentType = "application/x-www-form-urlencoded"
            request.Method = "POST"
 
 
           
            ' Get response   
            response = ----WHAT?----
           
        Finally
            If Not response Is Nothing Then response.Close()
        End Try
 
    End Sub

Open in new window

0
Comment
Question by:lrbrister
  • 2
3 Comments
 
LVL 9

Expert Comment

by:tillgeffken
ID: 24314944
Your going down the wrong road my friend. Posting data to that server is not as trivial as that. I'm a C# programmer so i can't guarantee this is working code but should get you the idea. (Modified MSDN example code)

Dim MyPostData As String = "numrooms=2&sh=yes&lang=en&group=exotictrav"
Dim MyUrl As String = "http://www.reservationdomain.com/reserve.php"
FetchData(MyUrl, MyPostData)
 
 
        Public Sub FetchData(ByVal URI As String, ByVal PostData As String)
            ' Create a request using a URL that can receive a post. 
            Dim request As WebRequest = WebRequest.Create(URI)
            ' Set the Method property of the request to POST.
            request.Method = "POST"
            ' Create POST data and convert it to a byte array.
            Dim postData As String = PostData 
            Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
            ' Set the ContentType property of the WebRequest.
            request.ContentType = "application/x-www-form-urlencoded"
            ' Set the ContentLength property of the WebRequest.
            request.ContentLength = byteArray.Length
            ' Get the request stream.
            Dim dataStream As Stream = request.GetRequestStream()
            ' Write the data to the request stream.
            dataStream.Write(byteArray, 0, byteArray.Length)
            ' Close the Stream object.
            dataStream.Close()
            ' Get the response.
            Dim response As WebResponse = request.GetResponse()
            ' Display the status.
            Console.WriteLine(CType(response, HttpWebResponse).StatusDescription)
            ' Get the stream containing content returned by the server.
            dataStream = response.GetResponseStream()
            ' Open the stream using a StreamReader for easy access.
            Dim reader As New StreamReader(dataStream)
            ' Read the content.
            Dim responseFromServer As String = reader.ReadToEnd()
            ' Do something with the response here.
 
            reader.Close()
            dataStream.Close()
            response.Close()
        End Sub

Open in new window

0
 

Author Comment

by:lrbrister
ID: 24315194
tillgeffken:
When I run this post in regular HTML it posts to the remote domain...which then does it's own thing and a redirect to it's processing page.

The submit buttom looks like this...
<input type="submit" name="availcheck" value="Submit" onClick="return checkDates(this.form)">
0
 

Accepted Solution

by:
lrbrister earned 0 total points
ID: 24316787
I found my own workaround by placing the _wXML as a variable in a form and doing  a form post on page load

<body onload='Javascript: document.forms[0].submit();'>

<form name="Form1" id="Form1" runat="server" action="http://www.doamin.com/reserve.php" method="POST" target="_self">
<%=PlayerScript%>
  ---LOADING---
    </form>  
</body>
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question