我通过添加NameValuePair从Android设备发送HttpPost请求,但没有获取如何在Controller中获取NameValuePair值。
以下是发送请求的代码: -
HttpPost request=new HttpPost(PostUrl);
HttpResponse response;
List<NameValuePair> nameValuePairs=new ArrayList<NameValuePair>(7);
nameValuePairs.add(new BasicNameValuePair("userName",userName));
nameValuePairs.add(new BasicNameValuePair("password",Password));
nameValuePairs.add(new BasicNameValuePair("deviceId",deviceId));
nameValuePairs.add(new BasicNameValuePair("subdomain",Subdomain));
nameValuePairs.add(new BasicNameValuePair("deviceType",DeviceType));
nameValuePairs.add(new BasicNameValuePair("uniqueId",UniqueId));
nameValuePairs.add(new BasicNameValuePair("appVersion",AppVersion));
request.setEntity(new UrlEncodedFormEntity(nameValuePairs,"UTF-8"));
response = client.execute(request);
这是我发送的NameValuePair ..
现在,这是我的帐户控制器和方法登录的代码(C#),我将发布这些数据。
public LoginResponse login( NameValueCollection post, String UserName, String password, String deviceId, String subdomain, String deviceType,String uniqueId,String appVersion)
{
String User=Convert.toString(post["userName"]);
}
请告诉我如何在此方法中获取NameValuePair。如果我通过附加到Post Url发送所有参数然后其工作正常但如果我通过NameValuePair发送它然后用户的值永远是空的
答案 0 :(得分:0)
试试这个:
public LoginResponse login(NameValueCollection post)
{
string test1 = post.Get("userName");
string test2 = post.Get("password");
}
另外,如果这是MVC选择标准结果(在这种情况下,ContentResult返回一个字符串):
public ContentResult login(NameValueCollection post)
{
LoginResponse loginResponse = //some method call...
return Content("login", loginResponse)
}
让我知道它是否有效。如果没有,我还有其他一些建议。