none
Js 如何触发updatepanel 里面的按钮click事件 RRS feed

  • 问题

  • <span style="color:#000000">说明:button1 按钮 能够触发 服务器控件 btn事件
    而 button2 按钮却不能触发 为什么?如何解决
    </span>
    

    <input type="button" id="button1" onclick="func_Click()" /> 
    
    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
      <ContentTemplate>
        <input type="button" id="button2" onclick="func_Click()" />
      </ContentTemplate>
    </asp:UpdatePanel>
    
    <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
      <ContentTemplate>
        <asp:Button ID="btn" OnClick="btn_Click" />
      </ContentTemplate> 
    </asp:UpdatePanel>
    
    <script> function func_Click() {
     document.getElementById('<%= btn.ClientID%>').click(); 
    } 
    </script>
    

     

    2011年10月31日 9:31

答案

  • <asp:Button ID="btn" OnClick="btn_Click" />
    要加上runat="server"

    请试试看以下的代码,可以正常执行

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form runat="server">
        <asp:ScriptManager runat="server"  EnableScriptGlobalization="true"/>
        <input type="button" id="button1" onclick="func_Click()" value="button1" />
        <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
            <ContentTemplate>
                <input type="button" id="button2" onclick="func_Click()" value="button2" />
            </ContentTemplate>
        </asp:UpdatePanel>
        <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
            <ContentTemplate>
                <asp:Button ID="btn" OnClick="btn_Click" runat="server" Text="btn" />
            </ContentTemplate>
        </asp:UpdatePanel>
        <script type="text/javascript">
        
                function func_Click() {
                document.getElementById('<%= btn.ClientID%>').click();
            } 
        </script>
        </form>
    </body>
    </html>
    
    

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Data;
    
    using System.IO;
    
    public partial class _Default : System.Web.UI.Page
    {
        
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        protected void btn_Click(object sender, EventArgs e)
        {
            btn.Text = "Hi!";
        
        }
    
        
    }
    

     


    Shadowと愉快なコード達
    2011年11月1日 1:45