怎么在html中,用js判断session是否存在 我做了一个新闻发布系统,所有的新闻都生成了静态页!现在碰到个 问题:如果会员登陆了,在进入新闻页时,显示“欢迎xx”,我怎么在html中,用js判断session是否存在!谢谢@! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 欢迎xx 是在标题中的? 还是在网页中的?应该是这个写 JS中的吧,JS中包含一个 .aspx的文件。 function checsessoin() { var strSession = "<%=Session["uid"] %>".toString(); if( strSession == "") { alert('请先登录'); return false; } } 那就是按我说的了,在要显示文字的地方,写个javascript 包含 .aspx的网页, 然后在.aspx中判断是否登陆 来显示不同的内容 。 <script src="test.aspx"></script>aspx中的代码应该是:Response.Write "document.write(‘这样写’);" 类似吧 asp中是这样,.net中我没试过,你自己测吧。 先在后台保存Session["uid"],将它公开。然后再在前台代码中写三楼的方法就OK啦。 貌似都不行啊,那段js代码拷过去,我在html调用,直接就语法错误! 你把后台session放哪声明的? 一般的, session 是通过 cookie 来维持的, cookie 的名字可以通过配置指定一个名称msdn 中的片断<sessionState mode="[Off|InProc|StateServer|SQLServer|Custom]" timeout="number of minutes" cookieName="session identifier cookie name" cookieless= "[true|false|AutoDetect|UseCookies|UseUri|UseDeviceProfile]" regenerateExpiredSessionId="[True|False]" sqlConnectionString="sql connection string" sqlCommandTimeout="number of seconds" allowCustomSqlDatabase="[True|False]" useHostingIdentity="[True|False]" stateConnectionString="tcpip=server:port" stateNetworkTimeout="number of seconds" customProvider="custom provider name"> <providers>...</providers></sessionState> 在 js 中可以判断这个名称的 cookie 是否存在.function getCookie(name) { var cookies = document.cookie.split(";"); for (var i = 0; i < cookies.length; ++i) { var a = cookies[i].split("="); if (a.length == 2) { a[0] = a[0].trim(); a[1] = a[1].trim(); if (a[0] == name) { return unescape(a[1]); } } } return "";}如果是 cookieless 的 session, id 则编码在了 url 中. 3楼的做法 在 aspx 页面中可以。楼主是纯静态页面吧,那样不管用的,使用ajax吧 jquery判断吧。这样可能会好点。 用cookie保存会员状态就可以读了! 用 ajax 请求一下服务器那不是方便很多吗支持12楼 使用httprequest来调用一个动态页面(比如:aspx)进行判断,然后用js输出 引用 3 楼 q107770540 的回复:JScript codefunction checsessoin(){var strSession = "<%=Session["uid"] %>".toString();if( strSession == ""){alert('请先登录');return false;……!!![/Quote] 就是这样的 先顶下15楼,因为它的思路是正确的,通过客户端的sessionid来判断,但并不能保证用户在登录前就没有其它的session,所以最好的办法,如果用户登录了,就来个临时的cookie,这个临时的cooke要包括用户名,证明用户是否已经登录。然后用js读这个cookie,显示“欢迎XX”,关于js读取cookie的方法,楼主去网上搜就行了 这种写法可以在html页面中写吗?楼主用的是html页面,不是aspx页面啊...在页面加载时用ajax去后台判断session,然后返回一个值,根据值用js显示“欢迎XXX”。不知可行否? asp.net FormatException: 输入字符串的格式不正确?? 请教一个页面的控件使用问题 动态获得控件名(在带有master page结构下) 【散分】继续分享 多文件上传 falsh c# 版 刷新页面时部分图片无法显示 急!关于office上传组件的奇怪问题 求高手为什么我总报错需要加上serializable标签? 返回一个字符串这样有错吗??? XML解析错误:未组织好 除了问号传值,从.net页面向asp页面传值有什么方法? C# 后台函数获取前台JS函数变量值 求各位大师亲切指导
function checsessoin()
{
var strSession = "<%=Session["uid"] %>".toString();
if( strSession == "")
{
alert('请先登录');
return false;
}
}
<script src="test.aspx"></script>
aspx中的代码应该是:
Response.Write "document.write(‘这样写’);"
类似吧
你把后台session放哪声明的?
msdn 中的片断<sessionState
mode="[Off|InProc|StateServer|SQLServer|Custom]"
timeout="number of minutes"
cookieName="session identifier cookie name"
cookieless=
"[true|false|AutoDetect|UseCookies|UseUri|UseDeviceProfile]"
regenerateExpiredSessionId="[True|False]"
sqlConnectionString="sql connection string"
sqlCommandTimeout="number of seconds"
allowCustomSqlDatabase="[True|False]"
useHostingIdentity="[True|False]"
stateConnectionString="tcpip=server:port"
stateNetworkTimeout="number of seconds"
customProvider="custom provider name">
<providers>...</providers>
</sessionState>
在 js 中可以判断这个名称的 cookie 是否存在.
function getCookie(name) {
var cookies = document.cookie.split(";");
for (var i = 0; i < cookies.length; ++i) {
var a = cookies[i].split("=");
if (a.length == 2) {
a[0] = a[0].trim();
a[1] = a[1].trim();
if (a[0] == name) {
return unescape(a[1]);
}
}
}
return "";
}如果是 cookieless 的 session, id 则编码在了 url 中.
JScript codefunction checsessoin()
{
var strSession = "<%=Session["uid"] %>".toString();
if( strSession == "")
{
alert('请先登录');
return false;
……!!!
[/Quote] 就是这样的
楼主用的是html页面,不是aspx页面啊...在页面加载时用ajax去后台判断session,然后返回一个值,根据值用js显示“欢迎XXX”。
不知可行否?