C# 非EF注册登录与EF注册登录
非EF注册登录
第一步:创建LoginController,添加Index视图
@using (Ajax.BeginForm("CheckLogin", "Login", new { }, new AjaxOptions() { HttpMethod = "post", OnSuccess = "afterLogin", LoadingElementId = "msg" }, new { id = "loginForm" }))
{
<table>
<tr>
<td>用户名</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>密码</td>
<td><input type="text" name="pwd" /></td>
</tr>
<tr>
<td>验证码</td>
<td>
<input type="text" name="vCode" />
<img src="/Login/ShowVerificateCode?id=1" id="vCodeImage" /><a href="javascript:;" onclick="changeVerificateCode();">看不清</a><br />
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="loginBtn" value="登录" />
<div id="msg" style="display:none">正在登录,请稍后....</div>
</td>
</tr>
</table>
}
第二步:在控制器写返回验证码那个方法和校验登录
public ActionResult ShowVerificateCode()
{
string vCode = Common.VerificateCode.CreateValidateCode(4);
Session["vCode"] = vCode;
byte[] buffer = Common.VerificateCode.CreateValidateGraphic(vCode);
return File(buffer,"image/jpeg");
}
public ActionResult CheckLogin()
{
string verificateCode = Session["vCode"] == null ? string.Empty : Session["vCode"].ToString();
if (string.IsNullOrEmpty(verificateCode)) return Content("no:验证码错误");
Session["vCode"] = null;
string code = Request["vCode"];
if (!code.Equals(verificateCode, StringComparison.InvariantCultureIgnoreCase)) return Content("no:验证码错误");
string username = Request["username"];
string pwd= Request["pwd"];
Model.UserInfo userInfo = UserInfoService.LoadEntity(username,pwd);
if (userInfo == null) return Content("no:用户名或密码错误");
return Content("yes:登录成功");
}
第三步:数据层代码
public List<Model.UserInfo> GetList()
{
string sql = "select * from UserInfo";
DataTable dt = SqlHelper.GetDataTable(sql, CommandType.Text);
List<Model.UserInfo> list = null;
if (dt.Rows.Count>0)
{
list = new List<Model.UserInfo>();
Model.UserInfo userInfo = null;
foreach (DataRow row in dt.Rows)
{
userInfo = new Model.UserInfo();
LoadEntity(userInfo,row);
list.Add(userInfo);
}
}
return list;
}
public Model.UserInfo LoadEntity(string username, string pwd)
{
string sql = "select * from UserInfo where UName=@UName and UPwd=@UPwd";
SqlParameter[] pars = {
new SqlParameter("@UName", SqlDbType.NVarChar, 32) { Value = username },
new SqlParameter("@UPwd", SqlDbType.NVarChar, 16) { Value = pwd }
};
DataTable dt = SqlHelper.GetDataTable(sql, CommandType.Text,pars);
Model.UserInfo userInfo = null;
if (dt.Rows.Count>0)
{
userInfo = new Model.UserInfo();
LoadEntity(userInfo, dt.Rows[0]);
}
return userInfo;
}
public List<Model.UserInfo> GetPageList(int pageStart, int pageEnd)
{
string sql = "select * from (select *,ROW_NUMBER() over(order by id) as num from UserInfo) as t where t.num>=@pageStart and t.num<=@pageEnd";
SqlParameter[] pars = {
new SqlParameter("@pageStart",SqlDbType.Int){Value=pageStart},new SqlParameter("@pageEnd",SqlDbType.Int){Value=pageEnd}
};
DataTable dt = SqlHelper.GetDataTable(sql, CommandType.Text,pars);
List<Model.UserInfo> list = null;
if (dt.Rows.Count > 0)
{
list = new List<Model.UserInfo>();
Model.UserInfo userInfo = null;
foreach (DataRow row in dt.Rows)
{
userInfo = new Model.UserInfo();
LoadEntity(userInfo, row);
list.Add(userInfo);
}
}
return list;
}
public int GetRecordCount()
{
string sql = "select count(*) from UserInfo";
return Convert.ToInt32(SqlHelper.ExecuteScalar(sql, CommandType.Text));
}
private void LoadEntity(Model.UserInfo userInfo, DataRow row)
{
userInfo.UName = row["UName"] != DBNull.Value ? row["UName"].ToString() : string.Empty;
userInfo.UPwd = row["UPwd"] != DBNull.Value ? row["UPwd"].ToString() : string.Empty;
userInfo.SubTime = Convert.ToDateTime(row["SubTime"]);
userInfo.Remark = row["Remark"] != DBNull.Value ? row["Remark"].ToString() : string.Empty;
userInfo.ModifiedOn = Convert.ToDateTime(row["ModifiedOn"]);
userInfo.DelFlag = Convert.ToInt16(row["DelFlag"]);
userInfo.Sort = row["Sort"] != DBNull.Value ? row["Sort"].ToString() : string.Empty;
}
浙公网安备 33010602011771号