我可以在ASP.NET页面类中用私有变量替换HiddenField吗?

时间:2015-09-17 12:52:06

标签: c# asp.net

我已经移交了一个ASP.NET Web应用程序以获得支持和开发。在浏览webforms的代码时,我看到了

<asp:HiddenField .../> 
某些页面中的

元素,主要用于存储某些ID(员工ID,办公室ID等)。我想用它们定义的同一个Page类中的类级变量替换它们(在代码隐藏中)。

它会在应用程序执行中引起一些问题吗?

1 个答案:

答案 0 :(得分:5)

使用变量将不起作用,因为在回发期间不会保留这些值。

在这种情况下,我会使用与ViewState结合的属性。

private int employeeID
{
    get { return (int)(ViewState["employeeID"] ?? 0); }
    set { ViewState["employeeID"] = value; }
}

在回发期间维护该值并且比HiddenField控件更少开销,并且在ViewState中您可以存储整个对象

如果要在整个用户会话期间保留该值,请将ViewState替换为Session以使用SessionState