我写了一个页面
前台:
<input type="button" id="btn_Save" value="保存"    runat="server" onserverclick="btnSave_ServerClick" />后台
 protected void btnSave_ServerClick(object sender, EventArgs e)
{
//保存成功
this.RegisterStartupScript("<script>window.location='当前页面?参数"';</script>");
}点保存后,页面2次刷新,看得不是太爽,有哪位可以解决这个问题我这个方法是避免F5重复刷新,数据保存的方法。
我想在这个基础上解决,只要页面刷新一次即可,有谁能解决50分

解决方案 »

  1.   

    Response.Redirect("当前页面?参数");
      

  2.   

    当一个服务器端控件(只要带runat="server"无论是asp还是html都是服务器端控件)同时具有客户端的onclick事件和服务端的onclick事件时,先执行的为客户端事件,然后才会执行服务器端事件,例如:
    btnDel.Attributes["onclick"] = "javascript:if(!confirm('确定删除吗?')) return false;";
      

  3.   

    没有必要第二次刷新。应该使用UpdatePanel来处理你的界面,它解决了许多问题,其中就包括“F5问题”。
      

  4.   

    现在我点保存,还是刷新2次
    1、“保存”——》当前页面的后台(刷新)
    2、保存成功后装载页面(刷新)我想只刷新1次,而且保留“保存成功后装载页面”(防止F5)如何实现?
    难道是Page指令中的某个属性?
      

  5.   

    随便写了例子:<%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">    protected void Button1_Click(object sender, EventArgs e)
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "aa", "alert('aa');", true);
        }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="false">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
            </ContentTemplate>
        </asp:UpdatePanel>
        </form>
    </body>
    </html>
    你可以试试,修改EnablePartialRendering为true,让UpdatePanel生效看看。