0

メトロ アプリで webview を使用して Web サイトを読み込む必要があります。次の方法を使用して、ログインパラメーターを投稿できました。webviewで同じものをロードする方法??????

      string post_data = "userName=test123&password=test@321";

        // this is where we will send it
        string uri = "http://tesproject.com";

        // create a request
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
        request.Method = "POST";

        // turn our request string into a byte stream
        byte[] postBytes = Encoding.UTF8.GetBytes(post_data);

        // this is important - make sure you specify type this way
        request.ContentType = "application/x-www-form-urlencoded";
        Stream requestStream = await request.GetRequestStreamAsync();

        // now send it
        requestStream.Write(postBytes, 0, postBytes.Length);

        // grab te response and print it out to the console along with the status code
        WebResponse response = await request.GetResponseAsync();
4

1 に答える 1

3

WebView クラスは、POST パラメーターを使用した URL への直接の移動をサポートしていません。

ただし、コードと WebResponse を使用して HTML を取得することはできます。次に、WebView クラスの NavigateToString メソッドを使用して HTML をレンダリングします。

            HttpWebResponse httpResponse= (HttpWebResponse)response;
            StreamReader reader=new StreamReader(httpResponse.GetResponseStream());
            string htmlString= reader.ReadToEnd();
            if (!string.IsNullOrEmpty(htmlString))
                webView.NavigateToString(htmlString);

または、投稿値とフォームを送信するための JavaScript を含むフォームを使用して独自の HTML を作成することもできますが、それは少し面倒かもしれません。

于 2012-12-13T14:54:19.430 に答える