public int UserID
{
get
{
int uid = -1;
string s = ViewState["UserID"] as String;
bool bRes = Int32.TryParse(s, out uid);
if (bRes)
{
return uid;
}
else
{
...
}
}
set { ViewState["UserID"] = value }
}
{
get
{
int uid = -1;
string s = ViewState["UserID"] as String;
bool bRes = Int32.TryParse(s, out uid);
if (bRes)
{
return uid;
}
else
{
...
}
}
set { ViewState["UserID"] = value }
}
ViewState保存,或者使用隐藏控件保存也是可以的
a.aspx按钮事件是某值传给b.ascx的ID,比如说:
页面初始,在a.aspx的PageLoad事件中,给b.ascx的UserID赋值“1”,正常;
然后,点击a.aspx中的按钮,将“2”赋值给b.ascx的UserID,b.ascx无法正常接受到值“2”这个问题咋整?
==>
不是。可以在相应的事件处理函数中设置。楼主把代码贴出来,大家帮你分析分析!
a.aspx的PageLoad事件:
b.UserID = 465;
a.aspx页面的按钮单击事件
b.UserID = 123;
b.ascx的PageLoad事件是
Response.Write(this.mUserID);在a.aspx首次加载时,页面可以显示456;
单击a中的按钮,页面却不显示123,这是为啥?
在a.aspx中(Page_Load)给变量赋值,加入是:aaa,然后再b.ascx中(Page_Load)显示这个值,这样就是aaa,当点击a.aspx上的按钮时,首先执行b.ascx的(Page_Load)事件,这时的这个值由于还保持上次的aaa,所以显示的还是aaa,但是点击了按钮赋的值还是会给变量,这时的变量的值就会变成你刚才点击按钮时的值了,比如说bbb,而显示的事aaa,也就是说,每次你点击按钮显示的都是上一次付的值。
TO zhuanshen712 :点击无数次按钮,都是显示aaa啊,这可咋解决啊
在a.aspx中(Page_Load)给变量赋值,加入是:aaa,然后再b.ascx中(Page_Load)显示这个值,这样就是aaa,当点击a.aspx上的按钮时,首先执行b.ascx的(Page_Load)事件,这时的这个值由于还保持上次的aaa,所以显示的还是aaa,但是点击了按钮赋的值还是会给变量,这时的变量的值就会变成你刚才点击按钮时的值了,比如说bbb,而显示的事aaa,也就是说,每次你点击按钮显示的都是上一次付的值。
这个说的是对的