背景:
在静态页面a.htm实现登陆功能.
自己思路:
使用javaScript获取用户名和密码存到Cookie中,然后跳转到b.aspx中进行登陆验证,登陆成功再跳转回a.htm。如何读取Cookie已经解决。但是对如何传到b.aspx.cs中迷惑不已,目前我想到的办法很蠢,就是利用两个隐藏的文本框做中转来取值:
<BODY onload="GetCookie()">
其中GetCookie这个js 函数的作用是给文本框赋值。同时我在
private void Page_Load(object sender, System.EventArgs e)
{
string userName=this.txtUserName.Value;
string pWd=txtPWd.Value;
}
估计各位高手看到这里就知道问题了。问题1:
因为我获取userName和pWd的代码放在page_Load里,所以实际上他比<BODY onload="GetCookie()">
先运行。。 导致我取得的值为"",这个问题如何解决。不想用button之类再去点击。问题2:
asp.net里面可不可以笔直取得javaScript里的参数值?不利用隐藏域中转。就是类似:
function a()
{
var x=20
return x;
}然后在asp.net 里笔直获取x的值。如果有方法的话,如果在.aspx.cs利用.js文件中的javaScript函数
类似attribute.add()已经知道了。 现在要笔直调用的方法。问题3:
javaScript可不可以不利用Cookie来在页面间传值。还有其它什么好方法没?
或者除了javaScript外还有什么好方法可以在静态页面和aspx间传值。麻烦诸位高手相助,自己研究以久困惑不已中。
在静态页面a.htm实现登陆功能.
自己思路:
使用javaScript获取用户名和密码存到Cookie中,然后跳转到b.aspx中进行登陆验证,登陆成功再跳转回a.htm。如何读取Cookie已经解决。但是对如何传到b.aspx.cs中迷惑不已,目前我想到的办法很蠢,就是利用两个隐藏的文本框做中转来取值:
<BODY onload="GetCookie()">
其中GetCookie这个js 函数的作用是给文本框赋值。同时我在
private void Page_Load(object sender, System.EventArgs e)
{
string userName=this.txtUserName.Value;
string pWd=txtPWd.Value;
}
估计各位高手看到这里就知道问题了。问题1:
因为我获取userName和pWd的代码放在page_Load里,所以实际上他比<BODY onload="GetCookie()">
先运行。。 导致我取得的值为"",这个问题如何解决。不想用button之类再去点击。问题2:
asp.net里面可不可以笔直取得javaScript里的参数值?不利用隐藏域中转。就是类似:
function a()
{
var x=20
return x;
}然后在asp.net 里笔直获取x的值。如果有方法的话,如果在.aspx.cs利用.js文件中的javaScript函数
类似attribute.add()已经知道了。 现在要笔直调用的方法。问题3:
javaScript可不可以不利用Cookie来在页面间传值。还有其它什么好方法没?
或者除了javaScript外还有什么好方法可以在静态页面和aspx间传值。麻烦诸位高手相助,自己研究以久困惑不已中。
解决方案 »
- Asp.net页面将Excel导入数据库的问题
- 大家谈谈一个简单的留言板需要考虑的安全问题
- 需要人力资源管理系统源代码
- VS2007 Beta版本已经发布啦!下载地址
- 关于页面刷新的问题
- asp.net文件上传后出现"未能加载类型“Account.index”错误--"在线等"
- 关于下拉列表在Datagrid里面的数据绑定
- 应用程序中的服务器错误
- 通过注册页面按钮打开新页面,选择新页面中gridview中checkbox,选择好后,将选择的值传回注册页面的文本框。望各位大大好心帮助~
- 如何取得当前访问页面的Html,不使用查看源代码和另存为......
- 想统一在项目里验证文本输入框,请问如何做
- 关于插入数据的问题
var username;
var userpass;
var iBool;
function GetParam()
{
username=document.all.userName.value;
userpass=document.all.passWord.value;
}function GoBbs()
{ GetParam();
window.open("dvbbs/login.asp?action=chk&username="+ username +"&password="+userpass);
}
</script>引用的时候:<a href="#" onclick="javascript:GoBbs();">
{
string userName=this.txtUserName.Value;
string pWd=txtPWd.Value;
}
这个里面可以直接取得cookie值,同一网站下的cookie是共享的,也就是没有语言的限制
if (Request.Cookies["useid"] != null)
this.txt_user.Text = Request.Cookies["useid"].Value.ToString();
{
string userName=Request.Cookies["userName"].Value.ToString();
string pWd=Request.Cookies["passWord"].Value.ToString();
}我实验了一下,这样直接获得就可以了
我试了一下 结果发现不行。,。
{
var userName=document.newsform.txtUserName.value;
var PWd=document.newsform.txtPWd.value;
document.cookie="userName="+userName;
document.cookie="PWd="+PWd;
alert(document.cookie);
self.location.href="http://192.168.1.161/news/Control/CheckLogin.aspx";
}因为cookie我是在静态页面上用javaScript读取的
谢谢你的回答
在仅仅传替参数很短时这样是可行的
但是如果我在那个页面还要传一段很长的字符串时 似乎就不能用?的形式传过去了。。
因为地址栏是有限的。。
function CmtLogin()
{
var userName=document.newsform.txtUserName.value;
var PWd=document.newsform.txtPWd.value;
document.cookie="userName="+userName;
document.cookie="PWd="+PWd;
alert(document.cookie);
self.location.href="http://192.168.1.161/news/Control/CheckLogin.aspx";
}
请问下我在javascript里赋值时要注意什么才能使asp.net里读取的更方便。。
=>
document.cookie = "userName" + "="+ escape(userName);.cs中取:string userName=Request.Cookies["userName"].Value.ToString();