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

use*_*111 1 c# asp.net

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

<asp:HiddenField .../> 
Run Code Online (Sandbox Code Playgroud)

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

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

fub*_*ubo 5

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

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

private int employeeID
{
    get { return (int)(ViewState["employeeID"] ?? 0); }
    set { ViewState["employeeID"] = value; }
}
Run Code Online (Sandbox Code Playgroud)

这样可以在回发期间保持该值,并且比HiddenFieldViewState中的Control AND 具有更少的开销,您可以存储整个对象

如果你想保持整个用户会话过程中的价值,更换ViewStateSession使用将sessionState