C++程序员学习用C#写网站(四)



第7天
功能:登录
数据库查询成功了,User对象创建了,可以页面跳转到Default.aspx啦,可是怎么写呢。百度,发现很多实现都是用户登录前访问某一页面,把该页面做参数传给登录页面,登录完成后再转到该页面......,想一下自己在互联网上晃悠,常常走这样的流程,嗯,挺好用的,我也这么写,抄了一段代码过来:
            if (string.IsNullOrEmpty(Request.QueryString["URL"]))
            {
                Response.Redirect("default.aspx");
            }
            else
            {
                Response.Redirect(Request.QueryString["URL"]);
            }
虽然目前没有URL参数,代码先留着呗,能登录成功跳转到Defualt.aspx就行。嘻哈哈的调试,输入用户名密码,确定......,页面仍然在Login.aspx。开始以为反应慢,然后以为IE坏了,再然后意识到程序有问题,感觉着已完成的代码是正确的,怀疑是web.config有未知的开关,百度一下没有答案,QQ上请教同学,把web.config和上面的Redirect调用都贴给他看,结果也没能解决问题。还是认真百度吧......搞了好久,最终发现了这个帖子:http://www.jb51.net/article/17407.htm,谢谢作者呀,学习到了“身份验证票”的概念,再查老项目的代码,果然也有这么一段,哎,看到也不能明白呀。果断复制粘贴,测试一下,问题真的解决了大笑

接着打算实现 记住密码,自动登录。在网上找到这篇帖子:http://www.tuicool.com/articles/ZFV77j,一天中剩下时间就是看它,但是哎,又是脚本,又是C#代码,心浮气躁,看不进去呀......

今天就做了这么些吧。


第8天
功能:登录
没什么办法,耐着性子看代码吧。先把两个input控件复制到页面里,然后把CheckLogin和CheckRemember两个javascript函数复制了,再读文章来理解作者的设计思路,再根据理解来看两个函数......,CheckRemember应该是正确的,但是CheckLogin应该参照着CheckRemember重新写一下。
    function CheckLogin() {
        var remember = document.getElementById("chkRemember");
        var login = document.getElementById("chkLogin");
        //  修改了“自动登录”的值,自动调整“记住密码”的值
        if (login.checked == true) {
            remember.checked = true;
        }
    }
这一步完成了,F5一下点来点去测一测,哈哈也挺好玩的。接下来是参照着写“登录”按钮的Click处理,这一步没什么好说的,就是我看到“Page.Session”和“HttpContext.Current.Session”的不同用法,就查了一下,原来是完全等效的。
最后还要抄一下页面的Page_Load方法实现......
测一下:两个都不打勾,登录一下;勾选“记住密码”,登录一下;两个都选上,再登录登录......,当一切都OK之后,感觉好好啊,我实现了一个似模似样的登录功能。

然后把密码改成MD5加密形式。还了解了一下定制的错误页面,可以参考这张帖子:

http://blog.chinaunix.net/uid-26200547-id-3494201.html,感觉只有Application_Error的方式有点价值,但是文章说会影响性能,干脆做罢,先不定制错误页面。

最后差点忘了发布。先查一下怎么发布,本地建个文件夹,项目右键-->“发布网站”到文件夹,然后用本地的IIS建立一个站点,跑一下,没有问题。然后找一台Windows Server2008(我的机子是Windwos7),建个文件夹,把文件都传过去,然后用IIS6.1添加个新的网站,忐忐忑忑的用IE访问下站点,唉,还是出问题了,报错“未能加载类

型“URLRewriter.ModuleRewrite......”。百度来解决,有说缺URLRewriter.dll文件的,我在服务器其他站点目录下搜了一下,还真找来一个,复制到自己的bin目录下,F5一下问题没解决;然后看到有人说要修改web.config,配置IIS,还有这篇文章:http://blog.csdn.net/xuejianwu/article/details/8484001,就照着抄了一遍,因为这篇文

章上的IIS是6.0版本,而我的Win7 IIS 界面已经完全不同了,于是又找到一篇http://www.cnblogs.com/lollipop/p/3545959.html;好了,我找到了dll文件放到我的bin目录下,配置了web.config,配置了IIS, 再F5,错误依旧呀......,无助的在网上游荡,快下班了,只好再去麻烦同学,他听说后直接发QQ远控请求过来,连通之后,打开IIS,选择我的网站,点了右侧的“基本设置”,然后“选择”我的应用程序池,把和我网站同名的应用程序池换成了DefaultAppPool,确定之后,再来访问。问题解决了。开发环境:Window7

IIS6.1,服务器 Server 2008, IIS6.1

到此历时8天时间,虽然登录功能未来还会修改,但可以暂时告一段落了。下一个要实现的功能:登录成功,就该见到应用本身了,目前真正的应用还没有写一行代码呢,下一步就是先搭建一个框架。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值