例 :
有个Button1 ,
设置<ajax:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
在Button1_Onclick里加入:
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "showExceptionMsg", "<script type='text/javascript'>alert('Hello CSDN');</script>");但这句没用执行。
除非将<ajax:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
改为<ajax:PostBackTrigger ControlID="Button1" />才执行!
但这种又刷新了页面,怎么能让不但Javascript执行,而且页面又不刷新?

解决方案 »

  1.   

    把源码贴出来!
    *.aspx
    --------------------------------------
    <body>
        <form id="form1" runat="server">
        <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server"  EnablePartialRendering="true">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="up1" runat ="server">
    <ContentTemplate>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </ContentTemplate>
    <Triggers>
    <asp:AsyncPostBackTrigger  ControlID ="Button1" EventName ="Click" />
    </Triggers>
    </asp:UpdatePanel>
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
    </div>
        </form>
    </body>
    --------------------------------
    *.cs
    ===============================
    protected void Button1_Click(object sender, EventArgs e)
    {
    string openScript = "\n\t";
    openScript = "<script" + " type='text/javascript'>\r\n"
       + "\r\n"
       + "window.close();"
       + "<" + "/script" + ">";
    this.Page.ClientScript.RegisterStartupScript(this.GetType(), "ConfirmssSubmit", openScript);
    TextBox1.Text = "Hello CSDN friends!";
    }
    ===================================================
    现在javascript的语句没有执行,可是将*.aspx的<asp:ScriptManager ID="ScriptManager1" runat="server"  EnablePartialRendering="true">改为<asp:ScriptManager ID="ScriptManager1" runat="server"  EnablePartialRendering="false">后Javascript就可以正常运行了,现在的问题是怎么能在EnablePartialRendering="true"的情况下运行Javascript脚本。
      

  2.   

    把<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />放到UpdatePanel里面。
      

  3.   

    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server"  EnablePartialRendering="true">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="up1" runat ="server">
    <ContentTemplate>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
                <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
    </ContentTemplate>
    <Triggers>
    <asp:AsyncPostBackTrigger  ControlID ="Button1" EventName ="Click" />
    </Triggers>
    </asp:UpdatePanel>
            
    </div>