我是初学者,今天突然发现如此一个问题: private bool Edit;
protected void Page_Load(object sender, EventArgs e)
{
if (Session["a"] == null)
{
Session["a"] = 11;
Button1.Text = "增加";
Edit = false;
}
else
{
Button1.Text = "修改";
Edit = true;
} }
protected void Button1_Click(object sender, EventArgs e)
{
if (Edit == true)
{
Button1.Attributes.Add("onclick", "return confirm('修改状态')");
Response.Write("修改");
}
else
{
Button1.Attributes.Add("onclick", "return confirm('增加状态')");
Response.Write("增加");
}
}
我预测的事件发生是这样的:
第一次load页面,点按钮后应该出现增加状态的对话框提示.再一次点击再出现修改状态提示.但实现上的情况却是第一次无反应,只是在页上write了一个修改(看上去是执行了一次page_load),是什么回事?
protected void Page_Load(object sender, EventArgs e)
{
if (Session["a"] == null)
{
Session["a"] = 11;
Button1.Text = "增加";
Edit = false;
}
else
{
Button1.Text = "修改";
Edit = true;
} }
protected void Button1_Click(object sender, EventArgs e)
{
if (Edit == true)
{
Button1.Attributes.Add("onclick", "return confirm('修改状态')");
Response.Write("修改");
}
else
{
Button1.Attributes.Add("onclick", "return confirm('增加状态')");
Response.Write("增加");
}
}
我预测的事件发生是这样的:
第一次load页面,点按钮后应该出现增加状态的对话框提示.再一次点击再出现修改状态提示.但实现上的情况却是第一次无反应,只是在页上write了一个修改(看上去是执行了一次page_load),是什么回事?
Button1.Text = "修改";
Edit = true;
然后执行Button1_Click
Button1.Attributes.Add("onclick", "return confirm('修改状态')");
Response.Write("修改");
Button1.Text = "修改";
Edit = true;
然后执行Button1_Click
Button1.Attributes.Add("onclick", "return confirm('修改状态')");
Response.Write("修改");============================
并没有 Button1.Attributes.Add("onclick", "return confirm('修改状态')");
=====================================
真的假的?有相关资料吗?
=====================================
是这样的。如果要控制一下的话,就要用IsPostBack,这样IsPostBack里面的代码就不执行了
你的问题应该不是ispostback的问题,因为每次load叶面你都要执行下面的语句