此段代码在电脑浏览网页时能够保存输入框的内容,再下次打开时,
输入框能自动显示上次输入框的内容。
在电脑上测试没有问题。但是放到服务器后,用手机上网就没有实现这个效果。
为什么?是手机不支持cookies吗,希望有高手指点下,或用其他方法实现,请告诉一下。谢谢!
<HEAD>
<STYLE>
.storeuserData {behavior:url(#default#userData); }
</STYLE>
<SCRIPT>
function fnSaveInput(){
var oPersist=oPersistForm.oPersistInput;
oPersist.setAttribute("sPersist",oPersist.value);
oPersist.save("oXMLBranch");
}
function fnLoadInput(){
var oPersist=oPersistForm.oPersistInput;
oPersist.load("oXMLBranch");
var v=oPersist.getAttribute("sPersist");
if(v)
oPersist.value = v;
}
</SCRIPT>
</HEAD>
<BODY onload="fnLoadInput()">
<FORM ID="oPersistForm">
<input CLASS="storeuserData" ID="oPersistInput" type="text" onchange="fnSaveInput()"></input>
</FORM>
</BODY>
</HTML>
输入框能自动显示上次输入框的内容。
在电脑上测试没有问题。但是放到服务器后,用手机上网就没有实现这个效果。
为什么?是手机不支持cookies吗,希望有高手指点下,或用其他方法实现,请告诉一下。谢谢!
<HEAD>
<STYLE>
.storeuserData {behavior:url(#default#userData); }
</STYLE>
<SCRIPT>
function fnSaveInput(){
var oPersist=oPersistForm.oPersistInput;
oPersist.setAttribute("sPersist",oPersist.value);
oPersist.save("oXMLBranch");
}
function fnLoadInput(){
var oPersist=oPersistForm.oPersistInput;
oPersist.load("oXMLBranch");
var v=oPersist.getAttribute("sPersist");
if(v)
oPersist.value = v;
}
</SCRIPT>
</HEAD>
<BODY onload="fnLoadInput()">
<FORM ID="oPersistForm">
<input CLASS="storeuserData" ID="oPersistInput" type="text" onchange="fnSaveInput()"></input>
</FORM>
</BODY>
</HTML>
-------------------
目前的WAP设备不支持“cookies”。
这个是可以实现的。
session是保存在服务器端。保存:
session["sdf"] = value;获取
string str = session["sdf"];当前都是在代码中实现的。不是HTML中。
InProc
State Server
SQL Server “InProc”表示我们使用传统ASP一样的方法储存Session的值,而且“State Server”则表示使用另外一台主机来储存Session的值。当然我们也能使用SQL Server储存值,我们这篇文章就专门用于讲解这种方法。 运行InstallSqlState.sql文件 首先需要在Winnt\Microsoft.Net中找到InstallSqlState.sql文件,然后在SQL Server 中执行它。在我的机器中,它存在于E:\WINNT\Microsoft.NET\Framework\v1.0.2914\目录中。这个文件是微软自己提供的,里面有很全的SQL语句,修改你的web.config文件,指定Session的mode为SQL Server 将web.config的sessionState部分改成:
<sessionState mode="SQLServer" sqlConnectionString="data source=WIN2000;userid= sa;password=" cookieless= "false"timeout= "20" /> 创建Asp.Net Web Forms 现在所有的Session变量都储存在数据表中,而不是内存中了。你可打开ASPStateTempSessions表来查看这些Session数据了。 删除这些数据库和表 如果你不喜欢这个数据储存方式,看得实在是不爽,那么你可以把这些表和数据库完全删除掉。这个也不要担心这种删除会影响数据库(因为害怕误删除一些数据),因为微软同样也得供给你们一个删除SQL 文件,名叫UnintallSQLState.sql。它与IntallSQLState.sql一样放在.Net的Config目录中。 另:
2 存储在Windows服务中
启动asp.net state service 服务(net start aspnet_state)
修改Web.config
<configuration >
<system.web >
<sessionState mode= "StateServer "
stateConnectionString= "tcpip=127.0.0.1:42424 " / >
</system.web >
</configuration >
3 存储在数据库中
在microsoft sql server query analyzer 中运行installsqlstate.sql,这个文件在 "C:\WINNT\Microsoft.NET\Framework\v1.1.4322"下面找
修改Web.config
<configuration >
<system.web >
<sessionState mode= "SQLServer "
sqlConnectionString= "server=127.0.0.1;UID=sa;PWD=secret " / >
</system.web >
</configuration >
重启SQL server和SQL Server Agent服务.
可以用下面的SQL 查询会话
select * from AspStateTempSessions
'========================== <END>