点按钮就刷新页面怎么回事啊
HTML code
<asp:Button ID="addmore" runat="server" Text="加" onclick="addmore_Click" />
C# code
int fileID = 2;
protected void addmore_Click(object sender, EventArgs e)
{
fileID++;
}
怎么老显示2啊,如何显示3啊
------解决方案-------------------- public int fileID
{
get { return (ViewState["flid"] == null) ? 2 : Convert.ToInt32(ViewState["flid"].ToString()); }
set { ViewState["flid"] = value; }
}
protected void addmore_Click(object sender, EventArgs e)
{
fileID++;
}
用viewstate来定义变量就可以保存状态了,因为按钮点击后页面回发,导致你上面代码中的fileID被重新赋值。
------解决方案--------------------asp.net的变量是没有缓存的(不像Winform有一个地址来缓存),页面回传后就重新读取初始值了。保存变量的状态,可以用WiewState,Session,Cache,Cookie,Application以及静态变量(Static修饰)等来保存,看你这个变量的使用范围。
------解决方案-------------------- 点击按钮发生回传事件 fileID 初始值始终是2 .
int fileID = 2;
protected void addmore_Click(object sender, EventArgs e)
{
if (ViewState["FileID"] != null)
{
fileID =Convert.ToInt32( ViewState["FileID"].ToString());
}
fileID++;
ViewState["FileID"] = fileID.ToString();
}