加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用没有ajax的javascript调用C#代码隐藏方法

发布时间:2020-12-16 02:50:02 所属栏目:百科 来源:网络整理
导读:我的asp.net文件中有2个按钮 asp:Button ID="BTN_Send_LA" runat="server" Text="Save" OnClientClick="ConfirmSendData()"/asp:Button//The button the client will clickasp:Button ID="UploadButton" runat="server" Text="" OnClick="BTN_Send_LA_Click"
我的asp.net文件中有2个按钮

<asp:Button ID="BTN_Send_LA" runat="server" Text="Save" OnClientClick="ConfirmSendData()"></asp:Button>
//The button the client will click

<asp:Button ID="UploadButton" runat="server" Text="" OnClick="BTN_Send_LA_Click"/>
//Dummy Button for the JS .click()

这是我的Js部分:

function ConfirmSendData() {
    var r = confirm("êtes vous bien: " + document.getElementById("<%=DDL_LaveurLA.ClientID%>").options[document.getElementById("<%=DDL_LaveurLA.ClientID%>").selectedIndex].text + " sinon veuillez changer dans le champ spécifié 'Laveur'");

    if (r == true) {

        var clickButton = document.getElementById("<%= UploadButton.ClientID %>");
        clickButton.click();

        //$('UploadButton').trigger('click'); TEST 1
        //__doPostBack not working aswell

    }
}

所以我希望在这里完成:

>客户端点击第一个按钮(触发JS)=>作品
> R为真=>作品
> JS部分触发了UploadButton的Onclick =>不要工作

我不明白为什么这个方法不起作用,因为它似乎是大多数其他答案对StackOverflow采取的一般方法?

更新:

好的,我已经尝试了下面提出的每个解决方案,现在我有一些奇怪的问题:

当我单击客户端按钮时,以下3个事件中的1个随机发生(路由跟随调试器)

1:按钮单击执行空白回发(IsPostBack == true)
???事件OnClick =“BTN_Send_LA_Click”未触发

2:按钮单击执行空白回发(IsPostBack == false)
???事件OnClick =“BTN_Send_LA_Click”未触发

3:该按钮正确触发虚拟按钮的事件OnClick =“BTN_Send_LA_Click”.

我不明白为什么.当我直接点击虚拟按钮时,一切正常

每次我做一个CTRL F5,我第一次点击客户端按钮将100%工作(事件被触发)

别的东西:在我的事件BTN_Send_LA_Click()中,我改变了多个控件的背景颜色(lightgreen)

1:如果我点击虚拟按钮=>控件的背景颜色已更改

2:如果我单击客户端按钮,即使触发了BTN_Send_LA_Click(),背景颜色也不会改变.

为什么?我完全迷失在这一个

更新的代码:

function ConfirmSendData()
     {
            /*
            var dd = document.getElementById("<%=DDL_LaveurLA.ClientID%>");
            var txt = dd.options[dd.selectedIndex].text;
            var r = confirm("êtes vous bien: " + txt + " sinon veuillez changer dans le champ spécifié 'Laveur'"); */

            var r = confirm("êtes vous bien: " + document.getElementById("<%=DDL_LaveurLA.ClientID%>").options[document.getElementById("<%=DDL_LaveurLA.ClientID%>").selectedIndex].text + " sinon veuillez changer dans le champ spécifié 'Laveur'");

            if (r == true) {
                //$("#<%=UploadButton.ClientID%>").click();

                var clickButton = document.getElementById("<%= UploadButton.ClientID %>");
                clickButton.click();

            }
            return false;  
    }

解决方法

你做得很好,除了:

>你需要在if语句中关闭}.
> ConfirmSendData()需要返回false以防止第一个按钮提交.

function ConfirmSendData() {
    var r = confirm("êtes vous bien...");
    if (r == true) {
        var clickButton = document.getElementById("<%= UploadButton.ClientID %>");
        clickButton.click();
    }
    return false;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读