protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
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 马上进入
if (hgfont == 0 || byfont == 0)
{
macaufont = 0;
hgfont = 4;
byfont = 4;
}
这是为什么?为什么不是进入
if (hgfont == 2 || byfont == 2)
{
macaufont = 2;
hgfont = 4;
byfont = 4;
}明明hgfont = 2;的,突然变成 0了
?请指教!
{
if (!IsPostBack)
{
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 马上进入
if (hgfont == 0 || byfont == 0)
{
macaufont = 0;
hgfont = 4;
byfont = 4;
}
这是为什么?为什么不是进入
if (hgfont == 2 || byfont == 2)
{
macaufont = 2;
hgfont = 4;
byfont = 4;
}明明hgfont = 2;的,突然变成 0了
?请指教!
你需要将hgfont变成ViewState形式的变量.这样客户端和服务器的变量就统一了.否则每次都是变化的.
所有B/S的窗体控件默认都是ViewState形式的protected int hgfont
{
get
{
return (int)ViewState["hgfont"];
}
set
{
ViewState["hgfont"]=value;
}
}
那全部都要把hgfont换成ViewState["hgfont"]吗?
public class 你的窗体: System.Web.UI.Page
{
protected int hgfont
{
get
{
return (int)ViewState["hgfont"];
}
set
{
ViewState["hgfont"]=value;
}
}就可以了.在窗体中使用的时候并没有什么不一样.
hgfont=0;
int abc=hgfont;
都是可以的.
public int Hgfont
{
get{return hgfont;}
set{hgfont=value;}
}
怎么放在我这段代码里使用呢?
{
get
{
return (int)ViewState["hgfont"];
}
set
{
ViewState["hgfont"]=value;
}
}
定义需要变化,一定不能是private的.因为要在客户端保留.
public int Hgfont
{
get{return hgfont;}
set{hgfont=value;}
}
使用上没有任何区别所以不用更改
那你说我那代码应该怎么改,解决问题立刻揭帖!
{
get
{
return (int)ViewState["hgfont"];
}
set
{
ViewState["hgfont"]=value;
}
}
public int Hgfont
{
get{return hgfont;}
set{hgfont=value;}
}
{
get
{
return (int)ViewState["hgfont"];
}
set
{
ViewState["hgfont"]=value;
}
}protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
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;
}
}这样为什么还是不对?
只要能进入
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)
{
只要到这里就算成功
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class Pages_Note1 : System.Web.UI.Page
{
//protected int hgfont;
protected int hgfont
{
get
{
return (int)ViewState["hgfont"];
}
set
{
ViewState["hgfont"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
hgfont=1;
}
}
protected void btn1_Click(object sender, EventArgs e)
{
hgfont = 1;
}
protected void btn2_Click(object sender, EventArgs e)
{
hgfont = 2;
}
protected void btnOut_Click(object sender, EventArgs e)
{
Response.Write("hgfont=" + hgfont);
}
}界面上有三个按钮,按钮1(btn1),按钮2(btn2),和输出按钮(btnOut).
给你一个网址,是上面那个也没的输出结果.
2个小时有效
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class Pages_Note1 : System.Web.UI.Page
{
//protected int hgfont;
protected int hgfont
{
get
{
return (int)ViewState["hgfont"];
}
set
{
ViewState["hgfont"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
hgfont=0;
}
}
protected void btn1_Click(object sender, EventArgs e)
{
hgfont = 1;
}
protected void btn2_Click(object sender, EventArgs e)
{
hgfont = 2;
}
protected void btnOut_Click(object sender, EventArgs e)
{
if (hgfont == 1)
{
Response.Write("你按了按钮1");
}
else if (hgfont == 2)
{
Response.Write("你按了按钮2");
}
else
{
Response.Write("你什么都没有按");
}
}
}
输出结果见第一行网址.