2009-06-16 17 views
0

私はページに情報を投稿するためのコードを書いていますが、私はそのページに配置したiframeのターゲットをどのようにするかわかりません。 (私はポストでも動作するかどうかわからないので、私はこのコードをテストしていない)VBコードからページ上のiframeに投稿を呼び出すにはどうすればよいですか?

Dim param1, param2, result, url As String 
    Dim request As HttpWebRequest 
    Dim paramStream() As Byte 
    Dim requestResponse As WebResponse 

    param1= "name=" + Server.UrlEncode("My Name") 
    param2= "email=" + Server.UrlEncode("[email protected]") 
    paramStream = Encoding.ASCII.GetBytes(param1+ "&" + param2) 
    url = "https://www.mysite.com/dosomething.php" 

    request = WebRequest.Create(url) 
    request.Method = "POST" 
    request.ContentType = "application/x-www-form-urlencoded" 
    request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; sv-SE; rv:1.9.1b2) Gecko/20081201 Firefox/3.1b2" 
    request.ContentLength = paramStream.Length 

    Using stream = request.GetRequestStream() 
     stream.Write(paramStream, 0, paramStream.Length) 
    End Using 

    requestResponse = request.GetResponse() 

    Using sr = New StreamReader(requestResponse.GetResponseStream()) 
     result = sr.ReadToEnd() 
    End Using 

私は、ウェブサイトに投稿するために書かれたものであることは、しかし、私は、IFRAMEに影響を与えるためにポストを希望します私はそのページに置いた。私はあなたがHTMLを書いているときにformタグ

<form target="my_iframe" method="post" action="dosomething.php" /> 

で指定されたターゲットを持つことができます。しかし、私はVBのコードから指定することができることを目標と同様のものがあれば、私は確認されませんでした知っています。

ちょっとメモ:私はASP.NETページからiframeに含まれているPHPページへの投稿をしようとしています。

私のコードに修正が必要なものがある場合や、別の方法でこれを行う方法があれば教えてください。

+0

これは、少しAJAXにとって完璧なシナリオのようです。 –

答えて

0

HttpWebRequestを使用して画面をスクレイピングしているときは、ブラウザが関心を持つHTMLレイヤーの下のHTTPレイヤーで作業しています。 HTTPは、フレームや他のHTML要素が上に重なっているかどうかは分かりません。 HTTPはリクエストをURLに送信し、応答を返すだけです。したがって、POSTリクエストをIFRAMEのURLに送信するだけで済みます。通常、そのURLがIFrame内にあるという事実は、あなたのVBコードとは関係ありません。

関連する問題