【发布时间】:2015-03-04 20:48:31
【问题描述】:
我在 ASP.NET 中玩了一下,这里有一些显示列表大小的代码和一些操作它的按钮。
我已分离类以使用构造函数创建列表。这里也是增加其大小的方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
public class Class1
{
public List<byte> Pole { get; set; }
public int velikost_pole { get; set; } //list size
public Class1() //constructor, default size is 3
{
List<byte> pole = new List<byte>();
for (byte a = 0; a < 3; a++)
{
pole.Add((byte)(a * a));
}
Pole = pole;
velikost_pole = Pole.Count;
}
public string zvetsit_pole() //method to increase the list size by adding item
{
if (Pole.Count < 6) //max size
{
Pole.Add((byte)(Pole.Count*Pole.Count+1));
velikost_pole = Pole.Count;
return "Pole zvetseno o 1";
}
else
{
return "Jiz nelze zvetsit";
}
}
}
在主文件中,对象被创建为全局变量,并且有一个增加列表大小的按钮。但是大小不变,还是一样
public partial class _Default : System.Web.UI.Page
{
Class1 objekt = new Class1(); //create the object
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Velikost pole je: " + objekt.velikost_pole.ToString() + "<br />";
for (int a=0;a<objekt.velikost_pole;a++)
{
Label1.Text += objekt.Pole[a].ToString() + " ";
}
}
protected void Button2_Click(object sender, EventArgs e) //call method to increase the size
{
Label1.Text = objekt.zvetsit_pole();
}
}
感谢您的想法。
【问题讨论】:
-
您的 Button2_Click 方法真的被调用了吗?当然,您必须将其添加到按钮的单击事件中,尽管这可以由设计人员或您自己编写代码来完成。
-
对于每个请求,都会创建一个新的代码隐藏文件实例,因此也会创建
Class1的新实例。