UserLogin.aspx登录成功后 保存Session如下
Session.RemoveAll();
Session["UserCode"] = checklogin.usercode;
Session["UserName"] = checklogin.username;
然后就打开新页面并关闭当前页面
Response.Write("<script language='javascript'>w=window.open ('ProgramFolder/LoginDefault.aspx', '_blank',status=no,titlebar =no');w.moveTo(0,-25);w.resizeTo(screen.width,screen.height); </script>"); //打开新页面
Response.Write("<script>window.close();</script>"); //关闭当前页面注意这里用的是Response.Write而不是Response.Redirect 我不知道是不是问题就出在这里然而我在另一个页面第一次打开的时候 总是说“未将对象引用设置到对象的实例”
错误提示在这里
DataTable TableMyInceptList = getmyinceptlist.GetMyInceptList(Session["UserCode"].ToString()); //显然是Session的原因但是当我第二次进入系统 一切正常 这是怎么回事哇????
Session.RemoveAll();
Session["UserCode"] = checklogin.usercode;
Session["UserName"] = checklogin.username;
然后就打开新页面并关闭当前页面
Response.Write("<script language='javascript'>w=window.open ('ProgramFolder/LoginDefault.aspx', '_blank',status=no,titlebar =no');w.moveTo(0,-25);w.resizeTo(screen.width,screen.height); </script>"); //打开新页面
Response.Write("<script>window.close();</script>"); //关闭当前页面注意这里用的是Response.Write而不是Response.Redirect 我不知道是不是问题就出在这里然而我在另一个页面第一次打开的时候 总是说“未将对象引用设置到对象的实例”
错误提示在这里
DataTable TableMyInceptList = getmyinceptlist.GetMyInceptList(Session["UserCode"].ToString()); //显然是Session的原因但是当我第二次进入系统 一切正常 这是怎么回事哇????
解决方案 »
- 80分啦
- 请教一个网址的问题,高手来下啊,游戏网页方面的
- .net(c#)文件操作如何进行,谁有这方面的例子给兄弟发一份!
- 组件设计关于下拉选择的问题?
- ASP.NET(C#)请问如何取出某个字符串的开头或者结尾的2个字符呢?
- 请问兄弟们,如何初始化datagrid,谢谢了!!!!!!!!!!!!!!!!!!!!!!
- 有关循环写日期
- 有一千人同时访问数据库,数据库的联接要怎么写?
- 同问。。。kindeditor在母版页里不显示
- 接了一个asp.net开发的网站,要给后台管理系统新增一个跟admin有相同权限的账户,但网站没有注册功能,该怎么办呢?改代码吗?
- 老板叫学asp.net可web 应用程序运行后出来乱马????急救!!!!!
- ViewState的问题!!!急!
自动使用当前用户名和密码登录另外,在所有使用Session中的对象前,要判断一下是否为 null
____________________________
(2005年04月26日 14时50分23秒)
这里赋值的时候是不是有点太直接了!应该先判断一下,Session["UserCode"]是否存在,如果不存在,需要用Session.add()添加,否则这个对象就不存在,赋值也会失败!
____________________________
(2005年04月26日 15时07分24秒)
改为 Redirect 试试?
____________________________
(2005年04月26日 15时07分24秒)
---------------------------------------------------cpp2017(幕白兄) 那样的话 要对系统的架构进行大的改动 时间来不及呀 55555555...........
window.opener = null;
wndow.close();
登录后,Redirect到 LoginDefault.aspx
____________________________
(2005年04月26日 15时22分38秒)
<!--
var w_width=300,w_height=180; //系统登陆窗口的高宽function startLogin(url)
{
window.showModalDialog(url,"window","dialogHeight: "+w_height+"px; dialogWidth: "+w_width+"px; help: Yes; resizable: No; status: No;");
}function window_onload() //加载登录窗口
{
window.moveTo(-3000,-3000);
startLogin("Login.aspx?UserLogin.aspx");
opener=null;
window.close();
}
//-->
</script>跟您的意思基本上 差不多吧
但你的url好像应该是UserLogin.aspx你写成了 "Login.aspx?UserLogin.aspx" ?
____________________________
(2005年04月26日 15时40分52秒)
但这都不安全另外还可以用cookies传值
____________________________
(2005年04月26日 15时46分43秒)
可用脚本传值,url传值
但这都不安全另外还可以用cookies传值
_____________________________________________________________
cookies??? 怎么传?? 给段代码看看 或者给我个例子看看好么?
確定Session["UserCode"] 在彈出前確定有值嗎?
var expireDate = new Date(now.getFullYear()+1,10,1);
document.cookie = "UserFontStyle=" + escape(a) +";expires=" +now.toDateString();
//document.all.txtSend.focus();
//?áè?cookμ?×?ì?éè??
function GetCookStyle()
{
var style =document.cookie;
var ary = style.split(";");
var css = ""; //ò?±£′?μ?css
for(var i = 0;i<ary.length;i++)
{
if(ary[i].split("=")[0] == "UserFontStyle")
{
css = ary[i].split("=")[1];
break;
}
}
return unescape(css);
}
____________________________
(2005年04月26日 16时02分14秒)
Session["UserName"] = checklogin.username;别的页面又要怎么才能取的checklogin.usercode和checklogin.username这两个值啊
如果有值,別的頁面就可以直接取Session["UserCode"]
可以告訴我:為什麽要摒棄第一次登錄者呢?
按你所述如果001登錄時會産生一個SESSIONID,002登錄時也會産生一個SESSIONID,它們是不一樣的
如果你要記錄每一次的登錄者以便在下次登錄時自動進入或者顯現帳號就可以利用COOKIES
试试!
把
DataTable TableMyInceptList = getmyinceptlist.GetMyInceptList(Session["UserCode"].ToString());
改为
Response.Write("==" + Session["UserCode"].ToString() + "==");
重新登录,如果没问题,那就是GetMyInceptList函数本身有问题。
dim userpw_t as string =checklogin.userpw
Session["UserID"]=userid_t;
Session["UserPW"]=userpw_t;
可以试试用Response.Redirect(...)
或者:
dim strReq as string
dim strUrl as string
strReq ="UserID=" & userid_t & "&UserPW=" & userpw_t
strUrl = me.toQueryString("目标页名称", "目标页面地址", strReq)
Response.Write("<script language=""JavaScript"" for=""window"" event=""onload"">var Dst=showModalDialog(strUrl& "','','dialogWidth:1024px;dialogHeight:768px;dialogTop:0px;dialogLeft:0px;resizable:yes;scroll:no;status:no;help:no;edge:raised;unadorned:no')</script>")
这样就可以把userid_t和userpw_t传到目标页面,但是目标页面需要解码
在目标页面:
server.UrlDecode(request.QueryString("UserID"))就可以得到userid_t
然后再目标页面中用<script language='JavaScript'>windows.retrunevalue="你想传回给调这页面的页面的值"</script>
当回到开始页面的时候变量Dst就接收到返回值,当然Dst可以自己换成一个控件,只要是能接收对应数据的变量就行
这样就可以保证页面之间的控制
当一个页面调其它页面,并且这2个页面在一个工程的时候我们用Session,当不再一个工程的时候用Request
你可以看看自己的程序,不行就不必要用Session来保存值了,可以传给一个页面然后再传回来,当然这样比较慢!
不过那样的话 我的很多页面(四十几个)都要做相应的调整
可能时间上来不及啦TO: wanna51(wanna) 已检查 确实是Session的原因 函数没有问题TO:zrlwoaini(精益求精) 你的方法可以参考 谢谢TO: another GG 可否以简单的cookie或者viewstate方式解决???只要能保存下我在登录页的用户编号和用户名称(UserCode UserName) 均可
在文件 default.aspx 中:<head>
..........
<!--
var w_width=300,w_height=180; //系统登陆窗口的高宽function startLogin(url)
{
window.showModalDialog(url,"window","dialogHeight: "+w_height+"px; dialogWidth: "+w_width+"px; help: Yes; resizable: No; status: No;");
}function window_onload() //加载登录窗口
{
window.moveTo(-3000,-3000);
startLogin("UserLogin.aspx");
opener=null;
window.close();
}
//-->
</script> </head>
<body MS_POSITIONING="GridLayout" onload="window_onload()">
<form ....................
..................
在程序 UserLogin.aspx 中提交页面的控件的事件中: Session.RemoveAll();
Session["UserCode"] ="输入UserCode";
Session["UserName"] ="输入UserName";
Response.Write(@"<script language='javascript'>
w=window.open ('WebForm2.aspx', '_blank','status=no,titlebar =no');
w.moveTo(0,-25);
w.resizeTo(screen.width,screen.height);
</script>"); //打开新页面
Response.Write("<script>window.close();</script>"); //关闭当前页面然后在WebForm2.aspx 的页面 Load 事件中打印Session, 打印的值完全正确!
<form id="Form1" method="post" runat="server">
<FONT face="宋体"></FONT>
<iframe src="WebForm3.aspx" height=500 width=500></iframe>
</form>
</body>在 WebForm3.aspx的页面Load输出Session,正常。在Form2和内嵌的Form3上都打印出Session值。
<HEAD>
<title>WebForm2</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<frameset cols="50%,*">
<frame src="WebForm3.aspx">
<frame src="about:blank">
</frameset>
</HTML>WebForm3.aspx 还是正确取到Session了。我的机器比你的听话。