为了账号安全,请及时绑定邮箱和手机立即绑定

通过 c# asp.net 中的 postasync 方法传递多个数据

通过 c# asp.net 中的 postasync 方法传递多个数据

C#
浮云间 2021-12-25 18:25:47
我正在尝试使用 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个赞

您在这里有两个选择:

  1. 通过查询字符串调用API方法,这样您只需在服务器端读取查询字符串即可。

  2. 使用 JsonConvert.SerializeObject(ObjectHere) 序列化您的对象,另一方面您使用 DeserializeObject。不要忘记将 [serializable] 添加到您的实体定义(类)。您还可以使用 HttpClient 来执行请求本身


查看完整回答
反对 回复 2021-12-25
?
茅侃侃

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; }

}

并返回一个对象希望这会有所帮助


查看完整回答
反对 回复 2021-12-25
  • 2 回答
  • 0 关注
  • 888 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信