我的程序,到底被编译了几次!?(.net运行机理,谢谢!)
是这样的。我在页面内定义一个int变量i.在Page_Load进行初始化If(!Page.IsPostBack)i=5;。我又定义了一个button.当点击的时候i++。然后用一个label显示出来。可是。我并不能实现每点击一次数值就加一。而是等于1。因为返回给服务器后。首先调用Page_Load函数,此时i并没有再次被复值。默认为0,然而我的button事件让他加一。所以他总显示1。如果没有被再次编译,这又如何解释呢?(我的变量为什么不是在5(第一次点击button)的基础上?)为什么不一次次的+1呢?我把这个变量环城是一个cs重定义的对象。其结果一样。。帮我下,谢谢。。
在做的时候我用的是cs定义的对象。
//------------------------cs类文件
public class temp_i
{
private int a;
public temp_i()
{
valuea=0;
}
public temp_i(int tempa)
{
valuea=tempa;
}
public int valuea
{
get{return a;}
set{a=value;}
}
}
//------------------于aspx关联的cs文件
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!Page.IsPostBack)
{
a=new temp_i(10);
ShowData();
}
}
public void ShowData()
{
temp.Text=a.valuea.ToString();
}
private void begin_Click(object sender, System.EventArgs e)
{
a.valuea++;
ShowData();
}