1 つの Postback メソッドと 2 つ目の静的 Webmethod 呼び出しを含むテスト ログイン ページ (.aspx) を作成しました。JavaScript 関数は「txt1」と「txt2」から値を取得し、C# [WebMethod] を呼び出します。
HTML:
<input type="text" id="txt1" />
<input type="text" id="txt2" />
//JS function sends values to C# WebMethod
PageMethods.ReceiveUsernamePassword(txt1.value, txt2.value);
C#:
[WebMethod]
public static string ReceiveUsernamePassword(string user, string pass)
{
File.AppendAllText(@"C:\Z\upjs.txt", user + " " + pass + " js " + "\r\n\r\n\r\n");
return "Success JS";
}
以下のコードを使用して POST をシミュレートする別のクライアント アプリ。URL は localhost:1073/PostData_Server/Default.aspx/ReceiveUsernamePassword を指しています。
using (WebClient client = new WebClient())
{
System.Collections.Specialized.NameValueCollection reqparm = new System.Collections.Specialized.NameValueCollection();
reqparm.Add("user", "user1");
reqparm.Add("pass", "password1");
byte[] responsebytes = client.UploadValues("http://local:1073/PostData_Server/Default.aspx", "POST", reqparm);
string responsebody = Encoding.UTF8.GetString(responsebytes);
}
テスト クライアント アプリで "Success" または "Success JS" を取得する代わりに、HTML ドキュメント全体を応答メッセージとして受信しています。また、サーバー側にテキスト ファイルは書き込まれません。Poster( https://addons.mozilla.org/en-us/firefox/addon/poster/ ) をダウンロードして、クライアント アプリのエラーではないことを確認しました。これも、HTML ドキュメント全体を応答として受け取ります。どうすればこれを修正できますか?