再页面中有一个显示用户名称的信息。当点击注销后,就把Session赋值为null,但是这时界面不自动刷新,界面上仍然显示用户的信息。只有点击一下ie的刷新按钮,用户信息才会去掉。
请问:如何修改代码,使我不用点击刷新就可以去掉用户信息。
请问:如何修改代码,使我不用点击刷新就可以去掉用户信息。
解决方案 »
- 【求助】将网站部署的IIS后,路径出错
- 问:随机数如何让其不产生重复值。
- 在dataset里的数据随机排序。。。。。
- 在ASP.NET中怎样做在线音乐播放,并且数据要是从数据库里面提出来的,是C#的。希望各位同志帮菜鸟一帮。。
- 请大家帮我一个忙,说说asp.net和php的优劣
- 关于Session的问题 请兄弟们帮忙
- 怎样在Access数据库中比较时间大小?
- 关于在NET中打印问题 现场给分
- 为什么动态设置treeview的TreeNodeSrc不起作用啊?
- GridView按序排列问题
- 请问怎么控制datalist中的某个控件的属性,比如我想让用代码让datalist里的某个button隐藏
- 帮忙把asp代码改成asp.net代码,请问该怎么实现???
this.response.redirect("你现在的页面");
this.response.end();
把页面进行重定向,让显示用户信息的控件重新加载一次(因为你的显示用户信息的控件可能是写在!ispostback()里面)
下面就是hchxxzx提供的方法了,也可以用Server.Transfer("yourpage.aspx");
我的用户信息在一个用户控件中。有3个窗体(a,b,c)使用该控件。
问题1:不能直接使用Response.Redirect(“”),因为我要返回当前这个窗体。如何设置。
问题2:如果在a窗体中,使用上面的方法重定向到A,注销后,A的用户信息不显示了,但是直接在地址栏中输入B的地址,发现用户信息有出来了。
显示信息的代码在不在!page。ispostbackup()中都不行,把赋值Session改为Add也不好用。
{
Session.Remove("search");
//清除后你重新绑定数据了吗??
ds****=(DataSet)Session["search"];
grd****.DataSource=ds****;
grd****.DataBind();
}
Session.Add("username",username);控件中的注销按钮代码:
private void LB_Loginout_Click(object sender, System.EventArgs e)
{
Session.Remove("Userno");
Session.Remove("username");
Session.Abandon();
Response.Redirect("f_main.aspx");
Response.End(); }
控件窗体的Load事件代码: private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//决定显示用户登陆,还是用户信息。
if (Session["userno"] != null )
{
//当前已经有用户登陆。
HL_Yhm.Text=Session["username"].ToString();
}
else
{
//当前没有用户登陆。
HL_Yhm.text="游客";
} }
但如果使用 转向仍然如此,那就是你的浏览器可能没有设置好.
你可如下:
1.将当前page-load里面赋值的语句搬到LB_Loginout_Click事件中去.
2.查看你浏览器设置,工具-选项-设置,看是否选择"自动"
3.清空你的缓存.
4.如果还不行,在注销事件最后面,写一个脚本如下:
this.response.write("<script>window.location.href=window.location.href;</script>");
this.response.end();