• 前台如何调用后台事件


         网上一般说:__doPostBack('Button1','')就可以了,但有一个问题,运行时总是提示“缺少对象”(脚本错误)。

         原因:“NET 生成javascript的 __doPostBack()函数是有条件的,当页面上存在一个或一个以上的LINKBUTTON的时候才会有这个函数,所以,如果页面上没有LINKBUTTON 只有BUTTON的时候会出现‘缺少对象’的JS错误提示

    为此我写了第三种调用方法

    <form id="form1" runat="server">

        <div>
           <%--

             第一种方法添加LinkButton
            <asp:LinkButton ID="linkButton" runat="server"></asp:LinkButton>
            <asp:TextBox ID="textBox" runat="server"></asp:TextBox>
            <asp:Button ID="button" runat="server" Text="JsInvokeButton" OnClick="button_Click" />
            --%>
        </div>
        <div>
           <%--

            第二种方法直接使用getElementById
            <asp:TextBox ID="textBox1" runat="server"></asp:TextBox>
            <asp:Button ID="button1" runat="server" Text="JsInvokeButton2" OnClick="button1_Click" />
            --%>
        </div>
        <div>
            <%--

            第三种方法使用GetPostBackEventReference
            <asp:TextBox ID="textBox2" runat="server"></asp:TextBox>
            <asp:Button ID="button2" runat="server" Text="JsInvokeButton3" OnClick="button2_Click" />
            --%>
        </div>

       </form>

           protected void Page_Load(object sender, EventArgs e)
           {

               //第一种方法
               textBox.Attributes.Add("onclick", "javascript:__doPostBack('button','')");

               //第二种方法          

               textBox1.Attributes.Add("onclick", "document.getElementById('button1').click()");

               //第三种方法          

               textBox2.Attributes.Add("onclick", "javascript:__doPostBack('button2','')");
               ClientScript.GetPostBackEventReference(textBox2,"");
           }

           protected void button_Click(object sender, EventArgs e)
           {

           }

           protected void button1_Click(object sender, EventArgs e)
           {

           }

           protected void button2_Click(object sender, EventArgs e)
           {

           }

  • 相关阅读:
    CentOS 如何将.deb 文件 转换.rpm
    zabbix 使用SNMP监控富士施乐打印机
    zabbix5.0安装centos7环境
    zabbix5.0安装centos8
    iptables 扩展模式
    -bash: mail: command not found
    笔记本安装Centos8
    Centos 8 安装
    zabbix5.4部署
    死循环判断进程是否存活脚本
  • 原文地址:https://www.cnblogs.com/RuiLei/p/1454524.html
Copyright © 2020-2023  润新知