asp.net 程序,用户登录时,无法跳转到相应的页面
网站首页用其他页面都可正常打开,但如果有用户进行登录时,就会自动跳转到 "default.aspx"页面上,然我在程序里写的是跳转到其他页面,搞了很久都不知道是什么原因搞的,而网站的后台,也是要输入用户名与密码的,可以正常登录.出现在的错误提示就是: 找不到相关的资源!因为,我在那个目录下,根本没有 default.aspx
晕....希望那位知道是什么原因,给我说清一点,急用啊! --------------------编程问答-------------------- 跳错地方了! --------------------编程问答-------------------- 断点跟踪下.
而且.你看报错的时候的url是否正确.看下请求的页面是否在url的目录下! --------------------编程问答-------------------- 大致情况我在说下
如我的首页 default.aspx ,这里面有个地方,输入:用户名与密码 ,如果输入对的话: 到用户的管理页面:
personadmin/personmanage.aspx 转到这个文件.现在的问题是:如果我输入对的话,会自动跳转到 personadmin/default.aspx 这个文件,我的personadmin目录下,根本没建这个文件,所以报找不到资源文件. 我的源文件是没有错的,也是要跳转到 personmanage.aspx 这个页面.不知为什么?
然而,我网站后台,如 admin/login.aspx 如果输入对的话,就可以跳转到相应的文件上,如 adminmanage.aspx
哪位大哥,碰到过类似的问题,给我说个原因啊,我现在都不知是什么原因.
对了,还报了个这样的错误 server error in '/' application --------------------编程问答--------------------
路径问题? --------------------编程问答-------------------- 看看是不是下面的问题
你跳转的时候,应该如下代码
Response.Redirect("~/personadmin/personmanage.aspx");
如果你不小心写成了
Response.Redirect("~/personadmin");
这样的路径,它会去personadmin目录找默认的文件default.aspx
如果还没解决,看看你Default.aspx的代码
--------------------编程问答-------------------- 看来大家还没有明白我的意思,可以说根本不是代码的问题,我都检查了! --------------------编程问答-------------------- 楼主,我真建议你断点调试一下,自己找找错误,你在这问问到什么时候?
我一般有问题都是断点调试查找出来的错误原因。 --------------------编程问答-------------------- 有些错误就是你的误操作莫名其妙的出来的错误,这种错误别人可能是没法帮你解决的,只能说是提供一个思路。 --------------------编程问答-------------------- web.config里有出错跳转的一段代码,没问题吗? --------------------编程问答-------------------- 你只要在web.config 中加入 <pages enableEventValidation="true"/>
或者在page中假如<%@ Page EnableEventValidation="true" %> 也可以.主要是.net 安全机制问题.只要你提交内容有脚本代码.默认都会包错.
看看这样能不能帮你解决问题
--------------------编程问答-------------------- 直接用
Response.Redirect(要跳到的页面);
--------------------编程问答-------------------- 断点肯定没问题的。。 --------------------编程问答-------------------- 可以明确的告诉你
肯定是代码的问题
你检查的还不够仔细而已
十有易做图的rpwt实际上都是自己的问题 --------------------编程问答-------------------- VS工具有设置断点调试的功能
去调试下一切都会OK
--------------------编程问答-------------------- 在调试状态下,按F10就会跟踪到哪儿错了 --------------------编程问答-------------------- 你跳转的代码怎么写的?
如果登录后挑砖代码写为FormsAuthentication.RedirectFromLoginUrl(用户名,false);
则登录后默认就会跳转到default.aspx文件,或者跳转到登录前想要访问的禁止匿名访问的页面。
解决方法:
1)直接添加个default.aspx页,如果不想添加该页面,可以采用方法2)
2)修改Web.Config文件
<authentication mode="Forms">
<forms loginUrl="login.aspx" defaultUrl="登录后要访问页面的URL地址" name="auth01" />
</authentication>
--------------------编程问答-------------------- 1.
web.config
<authentication mode="Forms">
<forms loginUrl="login.aspx" defaultUrl="登录后要访问页面的URL地址" name="auth01" />
</authentication>
2.
FormAuth 假如 returnUrl 是空,那么默认定向登录也所在目录的 default.aspx 的
3.
在你验证登录成功之后的代码 (应该在这里打断点,然后跟踪到底接下来执行到哪里去了)
显示的 Response.Redirect("~/personadmin/personmanage.aspx"); --------------------编程问答-------------------- 》》》
3.
在你验证登录成功之后的代码 (应该在这里打断点,然后跟踪到底接下来执行到哪里去了)
if(Request.QueryString["returnurl"] == null || Request.QueryString["returnurl"].Length == 0)
{ Response.Redirect("~/personadmin/personmanage.aspx"); }
else {
Response.Redirect(Request.QueryString["returnurl"]); }
} --------------------编程问答-------------------- personadmin 是否也是虚拟目录 --------------------编程问答-------------------- 感谢大家的回答,在此说明几点:
本地测试正常,传到服务器上的问题,是不是iis设置,或者是服务设置的问题啊? --------------------编程问答-------------------- 由于我的语言能力不是很好,我把地址贴出来大家试下,就知道我说的是什么问题啦!
http://www.cuxiao.gd.cn
用户名: myname
密码 : myname
类型: 个人会员
然后,点击登录,你就能看到我说的问题啦,多谢!希望大家说下同什么原因引起的,我没碰到过类似的问题,在网上找了半天,也没有相关的说明. --------------------编程问答-------------------- 如果其它网页可以正常浏览,应该不是服务器的问题!
我之前有过类似的问题,和你一样,也觉得是服务器的问题,不过结果是,程序问题,在修改页面的时候,VS自动加进了已经存在的CSS样式(至于为什么自动加进,尚无答案),而且是绝对路径,就这一问题,导致所有应用母版页都打不开。
建议,你将代码放在别的机子上,测试一下,看运行是否正常?
补充:.NET技术 , ASP.NET