gpt4 book ai didi

javascript - 检查 javascript 代码是否存在 session 中的对象

转载 作者:行者123 更新时间:2023-12-03 03:38:07 26 4
gpt4 key购买 nike

在 View.cshtml 中,我有一个部分检查 session 中是否存在名为 Reservation 的对象

<head>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")

<script type="text/javascript">
$(function () {
if ( @Session["Reservation"] )
{
$('.reservationDetails :input').attr("disabled", false));
$('#termSection :input').attr("disabled", true);
}
});
</script>

</head>

当第一次加载页面时,id为termSection的按钮处于事件状态,但是当在其他操作中我在 session 中保存对象保留时,此按钮仍然处于事件状态,然后我重定向到 View.cshtml。我认为问题在于这种情况来检查 session 中的对象是否为空。

最佳答案

我建议你将if条件移到服务器端。如果预留不存在,则根本不渲染 Javascript。

所以,而不是

if ( @Session["Reservation"] ) 

使用

@if ( Session["Reservation"] != null )

在上下文中:

@if ( Session["Reservation"] != null )
{
$('.reservationDetails :input').attr("disabled", false));
$('#termSection :input').attr("disabled", true);
}

如果 Reservation 不为 null,则输出 Javascript 将为:

$(function () {
$('.reservationDetails :input').attr("disabled", false));
$('#termSection :input').attr("disabled", true);
}

如果 Reservation 为 null,则输出 Javascript 将为:

$(function () {
}

换句话说,它不会做任何事情,这似乎就是意图。

关于javascript - 检查 javascript 代码是否存在 session 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45759784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com