如何使用jquery从web.config读取或获取会话超时,以便在mvc中处理会话过期
如何通过ajax调用从webconfig获取会话值 我尝试了以下代码如何使用jquery从web.config读取或获取会话超时,以便在mvc中处理会话过期,jquery,asp.net-mvc,c#-4.0,Jquery,Asp.net Mvc,C# 4.0,如何通过ajax调用从webconfig获取会话值 我尝试了以下代码 <script language="javascript" type="text/javascript"> var sessionTimeoutWarning = "<%= System.Configuration.ConfigurationSettings.AppSettings ["SessionWarning"].ToString()%>"; var
<script language="javascript" type="text/javascript">
var sessionTimeoutWarning =
"<%= System.Configuration.ConfigurationSettings.AppSettings
["SessionWarning"].ToString()%>";
var sessionTimeout = "<%= Session.Timeout %>";
var sTimeout = parseInt(sessionTimeoutWarning) * 60 * 1000;
setTimeout('SessionWarning()', sTimeout);
function SessionWarning() {
var message = "Your session will expire in another " +
(parseInt(sessionTimeout) - parseInt(sessionTimeoutWarning)) +
" mins! Please Save the data before the session expires";
alert(message);
}
</script>
变量SessionTimeOverWarning=
"";
var sessionTimeout=“”;
var sTimeout=parseInt(sessionTimeoutWarning)*60*1000;
setTimeout('SessionWarning()',sTimeout);
函数SessionWarning(){
var message=“您的会话将在另一个”+
(parseInt(sessionTimeout)-parseInt(sessionTimeout))+
“分钟!请在会话到期前保存数据”;
警报(信息);
}
步骤1:在控制器中创建ActionMethod/函数
public string IsUserLoggedIn()
{
if (Session["UserId"] != null) // check session here
return "true";
else
return "false";
}
步骤2:创建ajax调用。如果返回true,则用户已登录,否则不登录
function IsUserLoggedIn() {
var lsValue = true;
$.ajax({
type: "Post",
url: "IsUserLoggedIn",
datatype: "json",
async: false,
success: function (foData) {
if (foData == "true")
lsValue = true;
else
lsValue = false;
},
error: function (xhr, ajaxOptions, thrownError) {
},
complete: function (e) {
}
});
return lsValue;
}
实际上,您是在
MVC
中执行此操作的;您可能需要为此使用“@”
语法。请试试这个,可能会有帮助
<script language="javascript" type="text/javascript">
var sessionTimeoutWarning = @System.Configuration.ConfigurationSettings.AppSettings["SessionWarning"].ToString();
var sessionTimeout = @Session.Timeout;
var sTimeout = parseInt(sessionTimeoutWarning) * 60 * 1000;
setTimeout('SessionWarning()', sTimeout);
function SessionWarning() {
var message = "Your session will expire in another " + (parseInt(sessionTimeout) - parseInt(sessionTimeoutWarning)) +
" mins! Please Save the data before the session expires";
alert(message);
}
</script>
var sessionTimeoutWarning=@System.Configuration.ConfigurationSettings.AppSettings[“SessionWarning”].ToString();
var sessionTimeout=@Session.Timeout;
var sTimeout=parseInt(sessionTimeoutWarning)*60*1000;
setTimeout('SessionWarning()',sTimeout);
函数SessionWarning(){
var message=“您的会话将在另一个“+(parseInt(sessionTimeout)-parseInt(sessionTimeoutWarning))中过期”+
“分钟!请在会话到期前保存数据”;
警报(信息);
}
发生了什么(或没有发生)?在浏览器中查看脚本时,它看起来是否正确?