div隐藏层登录框及使用ajax写入cookies心得

       最近刚做了一个时下比较流行的隐藏层录页面,登录过程使用了ajax,但是奇怪的是,程序运行到添加cookies时就无端终止了,郁闷..跟踪无果,网上查询亦无果,无奈下只有借用javascript的cookies,用户登录过程是ajax验证完成后,返回正确标记同时返回登录的用户名ID,这样就可以在javascript中实现这样的效果。

这个登录框完全效仿baidu知道的登录模式,唯一的不同点是百度知道的登录框调用了一个页面,其实就是使用一个iframe框架而已,基本类似。

这里将整个登录过程代码贴出:

前台页面:
     <!-----层登录模块开始----->
     
<onClick="sAlert('login','登录');">
         
<asp:Literal ID="litStatus" Text="登录" runat="server"></asp:Literal></p>
              
<onClick="logout();">
         
<asp:Literal ID="litLoginout" Visible=false Text="退出" runat="server"></asp:Literal></p>
     
     
<!------层登录模块结束---->
javascript相关程序:
Code
CS层,ajax执行方法:

    [Ajax.AjaxMethod]
    
public string UserLogin(string userName, string passWord)
    
{
        TNB.DAL.CommonDAL dal 
= new TNB.DAL.CommonDAL();
        TNB.Model.CommonModel model 
= new TNB.Model.CommonModel();
        model.Fields 
= "*";
        model.Where 
= "UserName='" + userName + "' and UserPass='" + System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(passWord, "MD5"+ "'";
        model.Tables 
= "Users";
        DataSet ds 
= dal.GetList(model);
        
if (ds.Tables[0].Rows.Count > 0)
        
{

            
return "0";
        }

        
else
        
{
            
return "1";
        }

        
    }


posted @ 2008-07-04 09:11 逍遥网外 阅读(1980) 评论(8)  编辑 收藏 所属分类: .net技术

  回复  引用  查看    
#1楼 2008-07-04 09:44 | BAsil      
好像不支持firefox吧
  回复  引用    
#2楼 2008-07-04 09:55 | BAsils [未注册用户]
不错,学些过
  回复  引用  查看    
#3楼 [楼主]2008-07-04 10:30 | 逍遥网外      
--引用--------------------------------------------------
BAsil: 好像不支持firefox吧
--------------------------------------------------------
firefox确实有些问题,待修改完毕再更新
  回复  引用    
#4楼 2008-07-04 13:16 | sosos [未注册用户]
短小精悍,学习了.http://***/
  回复  引用  查看    
#5楼 2008-07-04 14:28 | 小庄      
楼主的验证程序好像有sql注入漏洞,呵呵!
  回复  引用  查看    
#6楼 [楼主]2008-07-04 15:13 | 逍遥网外      
@小庄
使用的Parameter,在业务层已经全部过滤了,不会有注入
  回复  引用  查看    
#7楼 2008-07-04 16:53 | 簡簡單單..      
谢谢提醒..
  回复  引用    
#8楼 2008-07-07 13:59 | webwalker [未注册用户]
楼主 代码可以优化一点的 :)

<style>
.test
{
color:red;
}
</style>
<div id="div">sssssssss</div>
<script>
with(document.getElementById("div"))
{
className="test"
}
</script>