我尝试使用Android中的HttpClient将我的Android应用程序中的一些数据发送到aspx页面。我将发送我的用户名和密码,以便在aspx页面内进行验证。这就是我在android方面所做的:
// android side
httpclient = new DefaultHttpClient();
httppost = new HttpPost("http://10.0.8.38/someapplication/logRemote.aspx");
nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("username",username.getText().toString().trim()));
nameValuePairs.add(new BasicNameValuePair("password",password.getText().toString().trim()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
response=httpclient.execute(httppost);
Log.d("extraData", "running");
ResponseHandler<String> responseHandler = new BasicResponseHandler();
final String response = httpclient.execute(httppost, responseHandler);
System.out.println("Response : " + response);
我这样做的原因是因为我必须检查我从android传递的数据是否会被后面的aspx页面代码读取。
如何使用从Android发送到Aspx页面的角色?
这就是我在aspx页面上所做的:
// .aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LoginRemoteWeb.aspx.cs" Inherits="LoginRemoteWeb" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
和后面的代码(页面加载部分):
//代码隐藏
protected void Page_Load(object sender,EventArgs e) {
//Request.Form to be sent by values from android
int loop1;
coll = Request.Form;
String[] arr1 = coll.AllKeys;
for (loop1 = 0; loop1 < arr1.Length; loop1++)
{
Response.Write("Form: " + arr1[loop1] + "<br>");
}
}
我做的正确吗?我可以使用Android的Request.Form获取postdata吗?如果是的话,会不会重新回复我写回Android的响应?
答案 0 :(得分:1)
您可以在aspx页面中创建webmethod。您也可以在android中设置httppost或httpget的webmethod属性作为您的要求。