我写了一个测试登录页面(.aspx),它有一个 Postback 方法和第二个静态 Webmethod 调用。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 文档作为响应消息。服务器端也没有写入文本文件。我通过下载海报(https://addons.mozilla.org/en-us/firefox/addon/poster/)验证了这不是我的客户端应用程序中的错误。它也接收整个 HTML 文档作为响应。我该如何纠正?