问题描述
输入了以下代码,怎么不能实现跳转呢ProtectedSubLoginUser_LoggedIn(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesLoginUser.LoggedInIfUser.IsInRole("manager")ThenResponse.Redirect("../ManageData/ManageData.aspx")ElseResponse.Redirect("../Default.aspx")EndIfEndSub输入了以下代码可实现跳转,但和角色没关系IfLoginUser.UserName="admin"ThenResponse.Redirect("../ManageData/ManageData.aspx")ElseResponse.Redirect("../default.aspx")EndIf
解决方案
解决方案二:
IsInRole这个里啥逻辑?
解决方案三:
判断是否属于manager角色
解决方案四:
如果IsInRole里没出异常的话,看不出这两段代码有啥区别
解决方案五:
首先,User.IsInRole是啥.......其次,如果下面代码没问题,假设有USER有个字段为ROLE,那么你直接IfLoginUser.Role="manage"ThenResponse.Redirect("../ManageData/ManageData.aspx")ElseResponse.Redirect("../default.aspx")EndIf
解决方案六:
代码本身应该没问题,估计要么是路径问题,要么是逻辑问题,你只能单步调试看看,另外路径的话,我一般都是用相对路径,不知道你这个。。/是什么意思,如果在同一目录下,直接使用default。aspx
解决方案七:
“不能实现跳转”,但是执行了什么跳转语句了吗?你调试了吗?说出调试中走了哪个分支,运行到了哪条语句。
解决方案八:
问题出在这里:User.IsInRole("manager")。但我明明通过“管理网站”设置的角色manager和user,并在manager角色下有admin成员,可是并不能如我所愿打开manageData页面。通过直接判断是否为用户admin可以打开manageData页面。不知道第一段代码到底哪儿出问题了
解决方案九:
这种问题调试一下就知道答案,没有问的必要
解决方案十:
User.IsInRole("manager")注意下是否区分大小写目测这个函数根本不是楼主自己写的,整个框架都不知道哪里下载下来的,然后在哪里瞎改你先右键,转到定义,看里面到底是如何实现验证用户是否manager的
解决方案十一:
我想是不是事件用错了呢我希望通过登录控件验证成功以后打开管理数据页面。
解决方案十二:
LoginUser是默认生成的登录控件,我希望通过登录控件验证成功以后打开管理数据页面,所以用了LoggedIn事件,是不是这里错了呢
解决方案十三:
引用10楼shenrunquan的回复:
我想是不是事件用错了呢我希望通过登录控件验证成功以后打开管理数据页面。
从你这个问题,就能暴露出你其实什么都不懂既然你判断用户名就能成功跳转,跟事件用对用错有什么关系还是你User.IsInRole("manager")这个方法一直返回false导致的至于为什么返回false,你需要看代码,看它内部到底根据什么验证的,数据是从哪里来的,数据跟数据库里的数据是否一致
解决方案十四:
连事件处理代码有没有执行过,你都不知道?
解决方案十五:
和事件是有关系的,如果一段代码放在根本就不可能触发的事件过程中,怎么可能执行到这段代码呢。判断用户和判断角色还是有区别的
解决方案:
就是没能耐心找本书看看登录控件的使用,想到这里问问高手,也许能一语点醒梦中人呢。看来还是要脚踏实地的学学
解决方案:
既然确定“事件确实执行了”,那么你就应该进一步监视调试User.IsInRole("manager")的运行时的值,甚至进入“调用堆栈”查看各入口场景的代码和变量值。不会具体调试之前,先不要纠结“事件是否用错了”的问题。
解决方案:
引用14楼shenrunquan的回复:
和事件是有关系的,如果一段代码放在根本就不可能触发的事件过程中,怎么可能执行到这段代码呢。判断用户和判断角色还是有区别的
如果你的事件根本没有执行,那你判断用户名的时候为什么又执行了??你连事件执行不执行跟事件代码里写什么没有关系这一点都没弄清楚,还是先恶补基础吧
解决方案:
http://www.cnblogs.com/tomin/archive/2012/01/10/2317851.html明天再来好好学学这个
解决方案:
感谢各位大侠的帮助,长期以来学习比较浮躁,决心洗心革面,好好学习,天天向上