Ahm*_*rid 0 c# asp.net initialization
我在类中定义了一个数组,而不是在任何方法中,作为全局变量,在同一范围的方法中:
TextBox[,] tx = new TextBox[100,100];
TableCell[,] tc = new TableCell[100, 100];
TableRow[] tr = new TableRow[100];
Run Code Online (Sandbox Code Playgroud)
我在Page_Init事件中初始化它们:
protected void Page_Init(object sender, EventArgs e)
{
if (!IsPostBack)
{
//only for initiializing
for (int i = 0; i < 100; i++)
{
tr[i] = new TableRow();
for (int j = 0; j < 100; j++)
{
tx[i, j] = new TextBox();
tc[i, j] = new TableCell();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我点击按钮或任何回发事件时,变量再次变为空!这有什么不对?
================================================== =======================
这是通过使用Session来存储它们来解决的,但现在却缺少了.如何将文本框中的值保存到此Session容器中?什么时候这样做?
每次进行任何回发时,即使只是处理按钮点击,您也可以使用页面类的全新实例.这是ASP.Net 101.
要解决此问题,请删除该if (!IsPostBack)检查.然后将所有可见属性设置为False并立即将它们添加到页面.当您找到需要的数量时,请为这么多控件将Visible属性设置为"true".
总是两个; 不多也不少.请求和响应.