C# 修改Lotus密码已经Asp.net后台注册JS简述

1. C#如何修改Lotus密码

       在这篇博文中,只是简单的述说一下我在修改密码过程中遇到的问题,以及解决方案,而C#如何使用或者调用Lotus的domino组件的方法不会记录。

我曾经在博客园的博文中问过这个问题,但是没有人解答,后来自己解决了,至少当时认为解决了,主要思路就是调用COM组件的方法替换掉Lotus的用户库中的密码字段。

找到需要修改密码的人员的notesDocument,然后使用下面两行代码进行修改密码:

_notesDocument.ReplaceItemValue("HTTPPassword", newpassword);
_notesDocument.Save(false, true);

很简单吧,当时用管理员和沟通的客户的账号进行测试,密码修改后,用修改后的密码进入系统网站,能够进入,测试成功。

       可是,在过了一段时间后,客户用其他人员进行测试,发现无法登陆系统,于是就分析原因了,后来发现修改对应人员的密码时,需要给密码进行加密,然后再保存到对应的库中去,而之所以前面测试为什么成功,具体原因也不知道,只是在分析的过程中,发现使用Notes手动保存一下用户的密码,上述方法就可以了。而实际情况,不能这么干,所以经过研究,用下面的几行代码,可以解决

object temp = _notesSession.Evaluate("@Password('" + password + "')", _notesDocument);
_notesDocument.ReplaceItemValue("HTTPPassword", temp);
_notesDocument.Save(false, true);

         这次用了,好几个人员进行测试,都测试成功,所以这种方法是有效的。

2. Asp.net后台注册JS

         在做项目中,有时候使用Asp.net后台注册JS的方法,可以很方便的解决用户的需求,因为这就如同C#直接在后台写逻辑代码一样方便好使。我们知道C#中有个Page.ClientScript,它的大概书写方式如下

 ClientScript.RegisterStartupScript(this.GetType(), "myscript", "<script>MyFun();</script>");

于是我根据自己的实际情况,就进行相关的修改,主要是改了改JS的方法,然后运行程序,发现效果出来了,好开心啊。可是好景不长,发现效果只有在首次加载页面的时候有效,其他的操作都无效,当时就纳闷了。后来经过研究发现,这个和.NET的UpdatePanel有关,注册JS的代码得简单改改了,形式如下

ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "updateScript", "MyFun();", True)

如此,在测试就没问题了。

PS:这两种方法调用JS方法有点不一样的,不知各位看客是否注意到了呢?

3. 吐槽

       项目快结束了,大的问题修改差不多了,剩下了些小问题,难后就不急不忙了,咋一看完成的工作和修复的Bug还挺多,其实仔细想想也就那么一点点,好多个小时都被我浪费掉了,换句话说这周工作效率与激情不高。

        其实,自己只是个“贫农”,需要学习的东西还有很多的,应该好好工作,努力学习的,让自己有把可以亮的出手的剑。

 

posted @ 2013-03-15 22:45  CoderRunner  阅读(459)  评论(0编辑  收藏  举报