我已经为跟踪器开发了一个登录页面。我已经通过对数据库进行验证来验证用户名和密码。
验证成功后,我已将会话变量设置为用户名,因为在整个会话过程中都需要使用该用户名。但是会话变量在重定向到下一页时会发生变化。
在下一页中检索用户名时,会话变量已更改。该代码粘贴在下面。请帮忙。
登录页面中的代码:
from django.contrib import admin
class SiteMemberAdmin(admin.ModelAdmin):
model = SiteMember
add_form = SiteMemberCreationForm
form = SiteMemberChangeForm
admin.site.register(SiteMember, SiteMemberAdmin)
xxx.aspx中的代码:
if (isValidUser)
{
Session["LoginUserName"] = Name;
Response.Redirect("xxx.aspx",false);
}
///从会话中检索用户时获得不同的值。
答案 0 :(得分:2)
如果您指定 endResponse: false
,则尽管已将Redirect添加到输出流中,但页面和任何事件的处理仍将继续。这很可能会更改Session
。
尝试在不使用endResponse: false
参数的情况下调用重定向:
Response.Redirect("xxx.aspx");
如果您指定 endResponse: true
或将其完全保留,则重定向后将以无害的ThreadAbortException
静默中止页面的处理。 AFAIK,这是进行重定向的正常方法,您需要有充分的理由在重定向后不中止,而且由于页面处理仍在继续,因此您还需要特别注意所有剩余的代码。