代码如下:
int hgfont,byfont,macaufont;
protected void Page_Load(object sender, EventArgs e)
    {
        hgfont = 0;
        byfont = 4;
        macaufont = 4;
    }protected void btn_en_Click(object sender, ImageClickEventArgs e)
    {
if (hgfont == 0 || hgfont == 1)
        {
            hgfont = 2;
            byfont = 4;
            macaufont = 4;
        }
    }
}这样加载后我单击btn_en_Click  为什么变量还是hgfont = 0; 应该hgfont = 2;才对的,大家帮忙看看是哪里的问题,小弟C#不熟。谢谢!

解决方案 »

  1.   

    怎么可能。我的都变过来了。
    要不你加一个
    if(!ispostback)
    {
       hgfont = 0;
            byfont = 4;
            macaufont = 4;}
      

  2.   

    btn_en的事件丢失了,c#经常出现这个问题,烦死你,还是用回vb吧,vb从来没这个问题
      

  3.   

    我加了if (!IsPostBack)
            {
    }
    还是变不了,单击btn_en_Click,hgfont一直为0,我骗你不是人
      

  4.   

    btn_en的事件丢失  这个又不对了,我保证btn_en事件有效,就是hgfont变量不对,其它的都对
      

  5.   

    你把变量做成属性试试。如果这次还不行。那就不清楚了
    private int hgfont;
    public int Hgfont
    {
        get{return hgfont;}
        set{hgfont=value;}
    }
      

  6.   

    protected void Page_Load(object sender, EventArgs e)
        {
            hgfont = 0;
            byfont = 4;
            macaufont = 4;
        }protected void btn_en_Click(object sender, ImageClickEventArgs e)
        {
    if (hgfont == 0 || hgfont == 1)
            {
                hgfont = 2;
                byfont = 4;
                macaufont = 4;
            }
        }
    } protected void lbview_macau_Click(object sender, EventArgs e)
        {
            if (hgfont == 0 || byfont == 0)
            {
                macaufont = 0;
                hgfont = 4;
                byfont = 4;
            }
    if (hgfont == 2 || byfont == 2)
            {
                macaufont = 2;
                hgfont = 4;
                byfont = 4;
            }
    }这样加载后我单击btn_en_Click  变量hgfont = 2;  然后我再单击lbview_macau_Click  马上hgfont = 0; 这是为什么?为什么不是hgfont = 4; ?请指教!