easyui +mvc 登录时的传值问题
最近下载了一些EasyUI+mvc的案例,很是迷糊。登陆界面传过去的值是data: { "Name": $("#UserName").val(), "Password": $("#Password").val() },是json格式,控制层需要的参数是一个实体类,public JsonResult CheckUserLogin(UserInfo userInfo),不知道这两个参数是什么时候在哪里转换的?json什么时候变成了实体类??请高手指点。
登陆界面:
<script type="text/javascript">
//异步实现用户的登录
function LoginUserInfo() {
//验证用户必须输入必填项
var validate = $("#ff").form("validate");
if (validate == false) {
return false;
}
//ajax提交
$.ajax({
url: "Login/CheckUserLogin",
type: "POST",
dataType: "json",
data: { "Name": $("#UserName").val(), "Password": $("#Password").val() },
success: function (data) {
if (data.result == "success") {
//window.location.href = "Home/GetView?viewPara=Index";
//window.location.href = "@Url.Content("/Home/Index/")";
window.location.href = "/Home/Index";
}
else {
alert(data.content);
window.location.href = "/Login/Login/";
}
},
error: function (xhr, error, ex) {
alert("出现错误,请稍后再试,带来不便,敬请谅解");
window.location.href = "/Login/Login/";
}
});
}
</script>
</head>
<body>
<div id="AddUserDialog" class="easyui-dialog" style="width: 300px; height: 160px; padding: 10px 20px"
modal="true" closable="false" title="EasyUIDemo用户登录" buttons="#dlg-buttons" align="center">
<form id="ff">
<table id="tblAdd">
<tr>
<td>
<label for="UserName">用户名:</label></td>
<td>
<input class="easyui-validatebox" type="text" id="UserName" name="UserName" value="@ViewBag.UserName" data-options="required:true,validType:'length[1,32]'" /></td>
<td>
</tr>
<tr>
<td>
<label for="Password">密 码:</label></td>
<td>
<input class="easyui-validatebox" type="text" id="Password" name="Password" data-options="required:true,validType:'length[1,32]'" /></td>
</tr>
<tr>
<td colspan="2" style="text-align: center; padding-top: 10px">
<a href="javascript:void(0)" class="easyui-linkbutton" id="btnLogin" iconcls="icon-ok" onclick="LoginUserInfo()">确定</a>
</td>
</tr>
</table>
</form>
</div>
</body>
控制器 代码
/// <summary>
/// 控制器中处理登录的信息 Login/CheckUserLogin
/// </summary>
/// <param name="userInfo"></param>
/// <returns></returns>
public JsonResult CheckUserLogin(UserInfo userInfo)
{
using (EasyUIDemoDBEntities db = new EasyUIDemoDBEntities())
{
//linq查询
var users = from p in db.UserInfo
where p.Name == userInfo.Name && p.Password == userInfo.Password && p.Enable == true
select p;
if (users.Count() > 0)
{
userInfo = users.FirstOrDefault();
Response.Cookies["UserName"].Value = userInfo.Name;
Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(7);
return Json(new { result = "success", content = "" });
}
else
{
return Json(new { result = "error", content = "用户名密码错误,请您检查" });
}
}
}
}