檢視向控制器提交資料
阿新 • • 發佈:2021-11-09
控制器用使用者定義的類接收
前端提交程式碼
$.ajax({ type: "POST", url: "/Login/DoAction", datatype: "json",
data: '{ "AccountName": "' + accountname + '", "Password": "' + pwd + '" }', contentType: "application/json; charset=utf-8", success: function(data) { //data是返回的JSON資料 if (data.Result == "true") { $('#message').text("登陸成功,跳轉中..."); window.location.href = "/HOME/Index"; //開啟頁面 } else { $('#message').text(data.Msg); } },error: function (e) { alert(e.responseText); }, beforeSend: function () { $('#login').attr("disabled", true); $('#message').text("正在登陸處理,請稍候..."); }, complete: function () { $('#login').attr("disabled", false); } });
控制器方法:
public JsonResult DoAction(LoginUserInfo loginUserInfo) { //登入驗證 bool result = SysUserRepository.CheckUserAndPassword(loginUserInfo); object message = string.Empty; if (result) { //Controller.Session 屬性 , Session[LoginUserInfo.Session_Name] = loginUserInfo; message = new ResposeInfo { Msg = "執行成功", MsgCode = "0000", Result = "true" }; } else message = new ResposeInfo { Msg = "賬號或密碼錯誤!", MsgCode = "1000", Result = "false" }; return Json(message, JsonRequestBehavior.DenyGet); }
public class LoginUserInfo { /// <summary> /// 超級使用者角色名稱 /// </summary> public const string _SuperUserRoleName = "管理員"; /// <summary> /// 儲存的Session名稱 /// </summary> public const string Session_Name = "LoginUserInfo"; public string AccountName { get; set; } public string Password { get; set; } public int DepartID { get; set; } public string RoleName { get; set; } }
控制器收到json資料,根據名稱匹配,LoginUserInfo其它成員沒有值,即部分賦值。