为什么 Panel里的事件不能修改全局变量的值
为什么 Panel里的事件不能修改全局变量的值public partial class Manage_News_Mnclass : System.Web.UI.Page
{ int a=0;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Save_Click(object sender, EventArgs e) //单击页面按钮
{ this.panel1.Visable=true;
}
protected void bttn_Click(object sender, EventArgs e) //单击panel里的按钮
{ a=1;
}
Response.Write(a); //a的值还是0
} --------------------编程问答-------------------- protected void bttn_Click(object sender, EventArgs e) //单击panel里的按钮
{
a=1;
Response.Write(a); //a的值还是0 要写到里面,触发后才会有响应
}
--------------------编程问答-------------------- 写在里面 全局变量岂不是没有意义了 --------------------编程问答-------------------- 你的response写的位置不一样吧,跟asp.net的顺序有关系的,会先执行page_load,然后执行click事件的。 --------------------编程问答--------------------
int a=0;--------------------编程问答-------------------- --------------------编程问答-------------------- ViewState[""]也不行 出了panel也不起作用 --------------------编程问答-------------------- 如果想设置一个公用的全局变量 只有用Session了 --------------------编程问答-------------------- 肯定可以的.
==>
int a
{
get
{
return ViewState["a"] != null ? (int)ViewState["a"] : 0;
}
set
{
ViewState["a"] = value;
}
}
. --------------------编程问答-------------------- 不行 你可以试试 把 a换成ViewState["a"] --------------------编程问答-------------------- 不是直接
换,参见 4楼. --------------------编程问答--------------------
<asp:Panel ID="Panel1" runat="server" Height="50px" Width="125px">
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button1" /></asp:Panel>
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button2" />
int a--------------------编程问答-------------------- 果然 学习了!
{
get
{
return ViewState["a"] != null ? (int)ViewState["a"] : 0;
}
set
{
ViewState["a"] = value;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
a = 123;
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Write(a.ToString());
}
补充:.NET技术 , ASP.NET