我正在尝试使用 http postasync 客户端方法传递多个数据。目前我在客户端使用 postasync,在服务器端我有一个 post 方法,它接受两个参数。我的问题是如何使用 c# 在服务器端成功检索此信息。我希望能够检索登录信息,以及 islogin 布尔值。如何在服务器端检索它。这是服务器的代码: // POST: api/Register [ResponseType(typeof(Login))] public IHttpActionResult PostLogin(Login login, bool isLogin) { if (!ModelState.IsValid) { return BadRequest(ModelState); } using (SqlConnection conn = new SqlConnection(_dbConn)) { conn.Open(); SqlCommand cmd = new SqlCommand("GetLogin", conn); cmd.CommandType = System.Data.CommandType.StoredProcedure; SqlParameter param = new SqlParameter(); cmd.Parameters.AddWithValue("@email", SqlDbType.VarChar).Value = login.Email; cmd.Parameters.AddWithValue("@pwd", SqlDbType.VarChar).Value = login.Password; SqlParameter returnValue = new SqlParameter("returnVal", SqlDbType.Int); returnValue.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(returnValue); cmd.ExecuteNonQuery(); var result = returnValue.Value; if (isLogin == true) { //int result = db.GetLogin(login.Email, login.Password); switch (result) { case (int)DBResponses.Success: //return CreatedAtRoute("DefaultApi", new { id = 0 }, (int)DBResponses.Success); return Ok((int)DBResponses.Success); case (int)DBResponses.BadEmail: //return CreatedAtRoute("DefaultApi", new { id = 2 }, (int)DBResponses.BadEmail); return Ok((int)DBResponses.BadEmail); case (int)DBResponses.BadPassword: //return CreatedAtRoute("DefaultApi", new { id = 3 }, (int)DBResponses.BadPassword); return Ok((int)DBResponses.BadPassword); } }
2 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
您在这里有两个选择:
通过查询字符串调用API方法,这样您只需在服务器端读取查询字符串即可。
使用 JsonConvert.SerializeObject(ObjectHere) 序列化您的对象,另一方面您使用 DeserializeObject。不要忘记将 [serializable] 添加到您的实体定义(类)。您还可以使用 HttpClient 来执行请求本身
茅侃侃
TA贡献1842条经验 获得超21个赞
如果我确实理解您的问题,这里是解决方案从您的客户端(JS)发送数据创建一个对象
var logObj = new Object();
logObj.username = "";
logObj.password = "";
..
logObj.etc = "";
要返回信息,您可以创建一个如下所示的类
class Loginfo
{
public bool Islogin { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}
并返回一个对象希望这会有所帮助
- 2 回答
- 0 关注
- 888 浏览
添加回答
举报
0/150
提交
取消