easyui +mvc 登录时的传值问题

morningnet 2015-02-13 04:13:24
最近下载了一些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 = "用户名密码错误,请您检查" });
}
}
}
}
...全文
188 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2015-02-15
  • 打赏
  • 举报
回复
function LoginUserInfo() { $("#btnLogin").click(function () { if ($("#UserName").val() == "") { alert("用户名不能为空"); return; } var postData = { UserName: $("#UserName").val(), Password: $("#Password").val(), Code: $("#Code").val() }; $.ajax({ url: '/Login/CheckUser', data: postData, cache: false, async: true, type: 'post', success: function (data) { if (data == "OK") { window.location.href = "/Manage/Index"; } else { alert(data); window.location.href = "/Login/Index"; } } }); }); } public ActionResult CheckUser(string username, string password, string code) { string result = ""; Sys_User user=new Sys_User(); user.UserName = username; user = BLLNo<Sys_User>.GetModel(user); if (user != null) {}...... }
回.到.未来 2015-02-13
  • 打赏
  • 举报
回复
model绑定的数据具有多个来源,可能来源于Post的表单或者JSON字符串,或者来源于当前的路由数据
回.到.未来 2015-02-13
  • 打赏
  • 举报
回复
data里面不是传了两个参数么。

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧