CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

登陆界面的简单问题

楼主talent_Rake(仔仔)2006-05-04 20:26:58 在 .NET技术 / ASP.NET 提问

我想问问看在登陆界面中验证用户名和密码之后,怎么通过提交按钮转到下一个网页。目前我是用CompareValidator控件来验证用户名和密码,但这个的弊端是只能是事先设定的一个用户名和密码,若要是通过数据库来存储用户名和密码来比对,应该怎么做啊? 问题点数:20、回复次数:21Top

1 楼sunchaohuang(流星飞狐(oO!))回复于 2006-05-04 20:36:49 得分 1

??????????????????????  
   
  就直接和数据库对比啊   验证控件是用来验证用户是否输入非法字符的Top

2 楼boy_north(北方的豹子)回复于 2006-05-04 20:40:48 得分 1

最简单的办法就是,把你输入的用户名和密码放在SQL中的SELECT语句当中,看看有结果没有  
  如果有,就说明登录成功,否则登录失败  
  登录成功后  
  你用this.RegisterStatupScript("Onlick","<script>window.open('xxx.aspx');</script>");  
  这样就可以跳转到另外一个页面啦Top

3 楼talent_Rake(仔仔)回复于 2006-05-04 20:51:40 得分 0

不好意思,能不能说的再详细点啊。怎么用SELECT语句?  
  另外this.RegisterStatupScript("Onlick","<script>window.open('xxx.aspx');</script>");这个是C#的语句吗?Top

4 楼xiaomi7732(小米)回复于 2006-05-04 20:55:53 得分 5

在On_Click事件中建立一个SqlCommand,添加下述SQL语句,  
  Select   count(*)   from   表名   where   username=@username   and   password=password  
  然后添加两个参数的值分别是用户名和密码。  
  int   n=(int)cmd.ExecuteScalar()  
  判断N,如果N!=1则用户名或密码错,否则,设Cookies并且跳转Top

5 楼wht6411(weblover|要毕业啦!HUST)回复于 2006-05-04 20:57:21 得分 0

不会这么菜吧!  
  Top

6 楼boci()回复于 2006-05-04 21:01:39 得分 1

你对SQL语言熟悉多少?  
  这里最简单的最是  
  SELECT   COUNT(*)FORM   TABLE   WHERE   ID=id   and   PWD=pwd  
  如果返回0就不等录,如果等于1就登陆。  
  <script>window.open('xxx.aspx');</script>");是javascriptTop

7 楼talent_Rake(仔仔)回复于 2006-05-04 21:02:15 得分 0

不好意思,确实比较菜。跳转应该用什么语句呢,请告诉我C#的好吗?Top

8 楼boci()回复于 2006-05-04 21:18:54 得分 1

Response.Redirect("jjj.htm");Top

9 楼ZHHE0800()回复于 2006-05-04 21:19:58 得分 1

Response.Redirect("url");  
  我们要帮助那些初学者,我们每个人都有需要学习的地方.Top

10 楼boci()回复于 2006-05-04 21:22:06 得分 1

是啊。我来这里就是因为这里气氛好。  
  大家互相帮助啊。Top

11 楼jaliwey()回复于 2006-05-04 21:28:49 得分 0

upTop

12 楼jhtyt(肥兔)回复于 2006-05-04 21:33:20 得分 4

说明一点:CompareValidator验证控件是用来验证输入的正确性的。  
  双击你的登陆按钮  
  在登陆按钮的click事件中写入:  
   
  //连接数据库语句  
  sqlcommand   yz   =   new   sqlcommand("select   用户名,密码   from   用户表",数据库连接);  
  SqldataReader   ds   =   yz.ExecuteReader();  
  if(!ds.read())  
  {  
          //无此用户的信息输出  
  }  
  else  
  {  
          //有用户,核对密码  
          if(ds["密码"].tostring()!=TextBox2.Text)  
          {  
                  //密码错误的输出信息  
          }  
          else  
          {  
                  //验证成功,进入跳转的页面  
                  Response.Redirect("跳转的页面");  
          }  
  }Top

13 楼talent_Rake(仔仔)回复于 2006-05-04 21:37:30 得分 0

谢谢大家那么热心:-)  
  麻烦大家了  
  我现在跳转页面的时候,它说ExecuteReader   需要打开的并且可用的连接。该连接的当前状态是   Closed。这是为什么呢?是网页的什么属性没设置好吗?Top

14 楼talent_Rake(仔仔)回复于 2006-05-04 21:40:49 得分 0

jhtyt(肥兔)兄的想法很好嘛,这样就能知道是用户名出错还是密码出错了,然后再弄2个label就能在一旁提示错误了Top

15 楼wht6411(weblover|要毕业啦!HUST)回复于 2006-05-04 21:44:50 得分 1

在要用它之前把连接关闭了。Top

16 楼talent_Rake(仔仔)回复于 2006-05-04 22:04:40 得分 0

这是我现在的代码,connection是在设计界面直接通过服务器资源管理器拖的。  
  private   void   Button1_Click(object   sender,   System.EventArgs   e)  
  {  
  string   id=TextBox1.Text;  
  string   pwd=TextBox2.Text;  
  string   mySel="Select   count(*)   from   login   where   id=@username   and   pwd=@password";  
  sqlConnection1.Open();  
  SqlCommand   myComm=new   SqlCommand(mySel,sqlConnection1);  
  int   n=(int)myComm.ExecuteScalar();  
  if   (n==1)  
  {  
  Response.Redirect("WebForm2.aspx");  
   
  }  
  else  
  {  
  lblInfo.Text="用户名或密码出错";  
  }  
  sqlConnection1.Close();  
  }  
   
  为什么运行后会说必须声明变量   '@username'?这是为什么呢Top

17 楼jiajiaxiaxia(轻烟)回复于 2006-05-04 22:33:11 得分 0

晕。。。。长见识了Top

18 楼johnny1983()回复于 2006-05-04 22:44:31 得分 4

你两个参数没有传,要传一下  
  myComm.Parameters.Add(new   System.Data.SqlClient.SqlParameter("@username",SqlDbType.这里写这个参数的数据库里的类型,这个参数数据库里的长度)).Value=id;  
  myComm.Parameters.Add(new   System.Data.SqlClient.SqlParameter("@password",SqlDbType.这里写这个参数的数据库里的类型,这个参数数据库里的长度)).Value=pwd;  
   
  注意,你前面的  
  string   id=TextBox1.Text;  
  string   pwd=TextBox2.Text;  
  最好后面加个.ToString()Top

19 楼shamao(稳重,踏实,责任)回复于 2006-05-04 23:11:37 得分 0

呵呵,建议楼主找本ASP.NET   入门书研究研究哦。Top

20 楼talent_Rake(仔仔)回复于 2006-05-04 23:20:25 得分 0

基本搞懂了,谢谢大家!Top

21 楼Romakeloli(从开发到维护……)回复于 2006-05-05 12:49:26 得分 0

好好学,你还有好多东西要学,Top

相关问题

关键词

得分解答快速导航

  • 帖主:talent_Rake
  • sunchaohuang
  • boy_north
  • xiaomi7732
  • boci
  • boci
  • ZHHE0800
  • boci
  • jhtyt
  • wht6411
  • johnny1983

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo