日期:2014-05-17  浏览次数:20512 次

ASP.NET的BUTTON好像提交了两次?
[b]我刚学ASP.NET,今天做一个小实验,网页中只有一个button,代码很简单就是下面这样
public partial class test1 : System.Web.UI.Page
{
    static int i;
    protected void Page_Load(object sender, EventArgs e)
    {
        i++;
        Response.Write(i.ToString());
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("test1.aspx");
    }
}
然后运行的时候我点击button的话i就会每次加2,但是我刷新的话i就会加1.怎么回事呢?
没积分了,不好意思 。。。谢谢

------解决方案--------------------
开始:i为0
执行Page_Load:i为1

单击按钮后
先执行Page_Load:i为2
再执行Button1_Click:重定向本页面

执行Page_Load:i为3

单击按钮后刷新页面,相当于重复前次操作(前次操作是重定向本页面,而不是单击按钮),所以只会执行Page_Load:i增1
------解决方案--------------------
protected void Page_Load(object sender, EventArgs e)
    {
        i++;
        Response.Write(i.ToString());
    }
一开始  i+le 一次   你点击的时候  i又加了一次

if(!ispostback)
{
        i++;
        Response.Write(i.ToString());
}
这样  点击的时候 就不会再加了