首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

点按钮就刷新页面咋回事

2012-10-05 
点按钮就刷新页面怎么回事啊HTML codeasp:Button IDaddmore runatserver Text加 onclickaddmo

点按钮就刷新页面怎么回事啊

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();

}

热点排行