a.aspx代码:
<asp:Button ID="btn1" runat="server" Text="按钮1" onclick="btn1_Click" />
<asp:Button ID="btn2" runat="server" Text="按钮2" onclick="btn2_Click" />
a.aspx.cs代码:
protected void btn1_Click(object sender , EventArgs e)
{
Response.Write(“111”);
}
protected void btn2_Click(object sender , EventArgs e)
{
Response.Write(“222”);
}
情况是这样的:
在页面上点按钮1,会显示111;点按钮2,会显示222;
点按钮2后,我刷新页面,.cs文件又会执行Response.Write(“222”);
请问大虾们,有没有办法让刷新时,不执行btn2_Click的操作!!!
火急,在线等!!!
<asp:Button ID="btn1" runat="server" Text="按钮1" onclick="btn1_Click" />
<asp:Button ID="btn2" runat="server" Text="按钮2" onclick="btn2_Click" />
a.aspx.cs代码:
protected void btn1_Click(object sender , EventArgs e)
{
Response.Write(“111”);
}
protected void btn2_Click(object sender , EventArgs e)
{
Response.Write(“222”);
}
情况是这样的:
在页面上点按钮1,会显示111;点按钮2,会显示222;
点按钮2后,我刷新页面,.cs文件又会执行Response.Write(“222”);
请问大虾们,有没有办法让刷新时,不执行btn2_Click的操作!!!
火急,在线等!!!
if (!IsPostBack)
{Response.Write(“222”); }
标记能到页面或者VIEWSTATE或者SESSION里。
不知道楼主是不是也是这个意思。
如果,你要视觉上不刷新,可以简单的用一些ajax 的东西实现。在 page_load 里 加些代码
if (!IsPostBack)
{
。
}
ajax?这个和ajax没一点关系
改怎么改?
去掉 onclick="btn2_Click"就可以了
就像上边说的,这是一个POST机制的问题,除非你的处理用Javascript来实现,那样刷新就不会保留上次操作的信息了。
那是浏览器避免二次提交,好像没办法.
如果在页面上加个button,用js document.execCommand('Refresh'); 这样刷新肯定没问题
前面三种刷新都会弹出一个对话框我就想不弹出这对话框,或默认选否(且不弹出来)
哎!还是得用ajax啊
<script type="text/javascript">
function OK(id) {
window.location.href = "a.aspx?tag"+id;
}
</script>
<input id="Button1" type="button" value="按钮一" onclick="OK('btn1')"/>
<input id="Button2" type="button" value="按钮二" onclick="OK('btn2')" />
a.aspx.cs代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if(string.IsNullOrEmpty (Request.QueryString ["tag"]))
{
switch (Request.QueryString["tat"])
{
case "btn1":
//代码块
break;
case "btn2":
//代码块
break;
}
}
}
}
采用了asp以前的思想, 可以实现你想要的结果,但可能不是最好的..
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script type=\"text/javascript\">");
sb.Append("function doResubmitWait()");
sb.Append("{");
sb.Append(" if(window.document.readyState == 'complete')");
sb.Append(" return true;");
sb.Append(" else");
sb.Append(" return false;");
sb.Append("}");
sb.Append("</script>"); Page.ClientScript.RegisterStartupScript(this.GetType(), "doResubmitWait", sb.ToString(), false);
Page.ClientScript.RegisterOnSubmitStatement(this.GetType(), "submit", "return doResubmitWait();");
}参考下吧。
{ //如果表单数据提交成功,就设“Session["IsSubmit"]”为false Session["IsSubmit"] = false; } else //否则的话(没有提交,或者是页面刷新),不显示任何信息
} protected void btn1_Click(object sender , EventArgs e)
{
Response.Write(“111”);
Session["IsSubmit"] = true;
Response.Redirect("a.aspx");
}
protected void btn2_Click(object sender , EventArgs e)
{
Response.Write(“222”);
Session["IsSubmit"] = true;
Response.Redirect("a.aspx");
} Session["IsSubmit"] = true; //强制转换页面(不可少,否则刷新仍会重复提交,仍转到本页), 通过页面的转换将缓存中的提交的数据都释放了,即提交的标单数据不会被保存到缓存里, 如果后退的话,将会出现该页无法显示 Response.Redirect("post.aspx");
html控件有很多不足,比如说asp:button有个Enabled属性,input就没这个属性
第二:http://topic.csdn.net/u/20090925/10/52e3c6d8-2bdd-4bba-9971-68ced6eb6e42.html
但我已经用ajax改完了。这代码有点像java里的servlet