首先,代码:
 myRequest.Method = "POST";
                Stream myStream = new MemoryStream();//定义这个Stream是只是为了得到发送字串 经过编码之后得到的byte的长度。                    
                StreamWriter myStreamWriter = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(SqlHelper.UC_CHARSET));//用默认编码 得到Stream
                myStreamWriter.Write(post);
                myStreamWriter.Flush();
                long len = myStream.Length;//目的完成
                myStreamWriter.Close();
                myStream.Close();                myRequest.ContentType = "application/x-www-form-urlencoded";
                myRequest.ContentLength = len;//如果字符串中存在中文 使用loginWebView.postContent.Length得到长度和编码之后的长度是不一样的:(                Stream newStream = myRequest.GetRequestStream();
                myStreamWriter = new StreamWriter(newStream, System.Text.Encoding.GetEncoding(SqlHelper.UC_CHARSET));//编码使用Encoding.Default 换来换去编码方法 还是用它得到的中文不会出现乱码                myStreamWriter.Write(post);
                myStreamWriter.Close();
                newStream.Close();
在发起请求时,action端取不到post的数据。
如果用
byte[] bytes = Encoding.UTF8.GetBytes(strParameter);
            httprequestPost.ContentLength = bytes.Length;
            Stream os = httprequestPost.GetRequestStream();
这种方法,可以取到,但是中文时有错。
请问第一种在写入requeststream时怎么不可以写入成功吗??