.net模式中,怎样用linq to sql来验证用户输入的用户名密码是否和数据库中数据一致?求大神指点啊!急!
这是我的html页面,可以用jQuery取到页面数据,但是验证这块不会啊,指导使用ajax但是没思路,刚学,好多都不懂,求指导啊!<body><formid="form1...
这是我的html页面,可以用jQuery取到页面数据,但是验证这块不会啊,指导使用ajax但是没思路,刚学,好多都不懂,求指导啊!
<body>
<form id="form1" runat="server">
<div id="table">
<Table ID="Table1" runat="server" Height="200px" Width="688px" align="center" border="1px solid" bgcolor="#D7FFEE">
<tr>
<td align="center" bgcolor="#d0d0d0" class="auto-style1" style="border-bottom:1px solid #000;border-left:none;border-right:none;border-top:none;"><font size="5"><b>User Login</b></font></td>
</tr>
<tr>
<td align="center" height="100px" style= "border:none;">
<b>User ID</b>
<input type="text" id="userID"/><br>
<b>Password </b>
<input type="password" id="Password"/><br>
<button id="btn" onchange="userCheck()">Login</button>
</td>
</tr>
</Table>
</div>
</form>
</body> 展开
<body>
<form id="form1" runat="server">
<div id="table">
<Table ID="Table1" runat="server" Height="200px" Width="688px" align="center" border="1px solid" bgcolor="#D7FFEE">
<tr>
<td align="center" bgcolor="#d0d0d0" class="auto-style1" style="border-bottom:1px solid #000;border-left:none;border-right:none;border-top:none;"><font size="5"><b>User Login</b></font></td>
</tr>
<tr>
<td align="center" height="100px" style= "border:none;">
<b>User ID</b>
<input type="text" id="userID"/><br>
<b>Password </b>
<input type="password" id="Password"/><br>
<button id="btn" onchange="userCheck()">Login</button>
</td>
</tr>
</Table>
</div>
</form>
</body> 展开
2个回答
展开全部
DataBase DB = new DataBase();
if (!DB.databasecon())
{
MessageBox.Show("database error!");
return;
}
string UserName = textBox1.Text;
string UserType = comboBox1.Text;
string UserPwd = textBox2.Text;
if (UserName.Equals("")) //如果相应的文本框的值为空,且不能执行
{
MessageBox.Show("请输入用户名!");
return;
}
if (UserPwd.Equals(""))
{
MessageBox.Show("请输入密码!");
return;
}
string sqlPwd;
string sqlUserType;
string sql = "select * from [UserManage] where UserName=@UserName";
SqlCommand cmd = DB.getconn().CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.Add(new SqlParameter("@UserName",UserName));
SqlDataReader reader= cmd.ExecuteReader();
if (!reader.Read()) //判断相应的文本框的值是否正确,不正确则不执行
{
MessageBox.Show("用户名错误!!");
return;
}
else
{
sqlPwd = reader.GetString(6); //密码在数据库的第8列
sqlUserType = reader.GetString(7); //密码在数据库的第9列
if (!sqlPwd.Equals(UserPwd))
{
MessageBox.Show("密码错误!!!");
return;
}
if (!sqlUserType.Equals(UserType))
{
MessageBox.Show("用户类型错误!!!");
return;
}
}
login = true;
this.Visible = false;
Index index = new Index();
index.Show();
//if (comboBox1.Text.Equals("普通用户") )
//{
// Login.
//}
}
if (!DB.databasecon())
{
MessageBox.Show("database error!");
return;
}
string UserName = textBox1.Text;
string UserType = comboBox1.Text;
string UserPwd = textBox2.Text;
if (UserName.Equals("")) //如果相应的文本框的值为空,且不能执行
{
MessageBox.Show("请输入用户名!");
return;
}
if (UserPwd.Equals(""))
{
MessageBox.Show("请输入密码!");
return;
}
string sqlPwd;
string sqlUserType;
string sql = "select * from [UserManage] where UserName=@UserName";
SqlCommand cmd = DB.getconn().CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.Add(new SqlParameter("@UserName",UserName));
SqlDataReader reader= cmd.ExecuteReader();
if (!reader.Read()) //判断相应的文本框的值是否正确,不正确则不执行
{
MessageBox.Show("用户名错误!!");
return;
}
else
{
sqlPwd = reader.GetString(6); //密码在数据库的第8列
sqlUserType = reader.GetString(7); //密码在数据库的第9列
if (!sqlPwd.Equals(UserPwd))
{
MessageBox.Show("密码错误!!!");
return;
}
if (!sqlUserType.Equals(UserType))
{
MessageBox.Show("用户类型错误!!!");
return;
}
}
login = true;
this.Visible = false;
Index index = new Index();
index.Show();
//if (comboBox1.Text.Equals("普通用户") )
//{
// Login.
//}
}
展开全部
前台取出的数据,再和linq to sql中取出的的后台数据做比较
例如:
后台代码类似:
string fuserid=Request.Form["userID"].ToString();
var luserid= from A in Table
where A.userID==userid
select A.userID;
if(fuserid!=luserid)
{
//用户不存在。。。todo:一些处理
}
//接下来 todo:密码验证
前台代码中用JQuery的ajax就可以了
例如:
后台代码类似:
string fuserid=Request.Form["userID"].ToString();
var luserid= from A in Table
where A.userID==userid
select A.userID;
if(fuserid!=luserid)
{
//用户不存在。。。todo:一些处理
}
//接下来 todo:密码验证
前台代码中用JQuery的ajax就可以了
追问
哦哦,这应该在controller里面判断对吧?那前台的ajax能帮帮我么?ajax不太会啊,
追答
如果是ASP.NET MVC的话,可以从viewbag中取到前台值,
JQuery ajax类似:
$(function(){
$("#btn").click(function(){
obj=$("#myelement").ajax({url:'@Url.Content("###页面url###")'async:false});
$(#"myelement").html(obj.responseText);
});
});
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询