.net Jquery CheckBox onchange事件丢失值

时间:2018-08-08 09:55:48

标签: javascript jquery .net

我的CheckBoxes具有以下Jquery代码:

 $(document).ready(function () {


            $('#chk_AGVS').change(function () {
                if ($(this).is(":checked")) {
                    '<%Session["chkAGVS"] = "true"; %>';

                }
                else
                {
                    '<%Session["chkAGVS"] = "false"; %>';

                }

            });
        });

我正在创建一个会话变量,在其中我根据对勾标记传输一个值。 它工作正常,我需要将该值传输到另一页,但是当我检查变量时,它应该为TRUE时为FALSE,因为已经检查了它。 我不知道发生了什么,但似乎是当它进行刷新或其他操作时,我真的不知道,我需要您的帮助。 由于业务规则,我无法在C#上执行此操作,因此我需要使用Jquery进行操作,这是怎么回事,为什么CheckBox会丢失该值并使会话变量为FALSE。

PS。我尝试添加ViewState = True,但没有执行任何操作。

1 个答案:

答案 0 :(得分:0)

页面加载后,您的ASP.NET标记将在服务器上运行一次:

将变量设置为true,然后设置为false。

在查看源代码时查看代码以查看您的JavaScript将运行什么,在这种情况下,它将不会运行任何东西,并且可能看起来像这样;

if ($(this).is(":checked")) {
                    '';

                }
                else
                {
                    '';

                }

您不能像这样调用服务器端代码。

您需要向服务器发布回调以更改会话变量。