防止变量丢失

时间:2013-11-05 14:04:51

标签: c# javascript pageload

我将在C#中生成的值传递给我的Javascript函数,如 -

C#

 protected int Month;
 protected int Day;
 protected int Minute;
 protected int Hour;

 // set these later in code

.aspx的

function test() {

                  Month: '<%= Month%>'
                  Day: '<%= Day%>'
                  Minute: '<%= Minute%>'
                  Hour: '<%= Hour%>'

然而,当点击各种控件时页面重新加载,这些变量将被重置为空。有没有办法保留这些值,以便它们在重新加载时不会丢失?

2 个答案:

答案 0 :(得分:0)

您可以将值添加到页面上的隐藏字段或其他控件,这些控件将通过页面加载(通过视图状态)维护值

答案 1 :(得分:0)

您可以将所有字段定义为ViewState中存储的值的属性,例如Month的示例:

protected int Month
{
    get { return this.ViewState["Month"] != null ? (int)this.ViewState["Month"] : 0; }
    set { this.ViewState["Month"] = value; }
}