asp.net按钮-JS点击不起作用
本文关键字:不起作用 -JS net 按钮 asp | 更新日期: 2023-09-27 18:25:32
我正在尝试从JS调用C#函数。我不能使用ajax。我试着创建一个ASP.NET按钮,当它点击时,它会调用C#函数,并从JS:调用点击函数
关于HTML:
<asp:Button runat="server" ID="UploadButton" OnClick="Upload_Click" />
JS:
alert("Before CLICK");
document.getElementById("UploadButton").click();
alert("After CLICK");
ASP.NET:
protected void Upload_Click(object sender, EventArgs e)
{
//CODE
}
问题是JS中的点击事件不起作用。我试着在JS代码的第一行之后写一个警告,看看代码是否丰富到那一行,但我只能看到"After CLICK"
。
我看到了这个答案:按钮';s.click()命令在Chrome中不起作用,但我不太明白。
您应该将ClientIDMode
设置为Static
<asp:Button runat="server" ID="UploadButton" ClientIDMode="Static" OnClick="Upload_Click" />
否则,它将有一些由ASP.NET生成的随机id,将CLientIDMode设置为静态,你是说ASP.NET不要干涉你的id并保持它们的完整性。
另一种选择是使用ClientID
属性,该属性将具有自动生成的id(如)的值
document.getElementById('<%= UploadButton.ClientID %>').click();
尝试这个
在ASP.net中,当页面呈现时,它会像'containerName...YourButtonName'
一样更改它因此,使用ClientID
,您将获得按钮的实际ID。
document.getElementById('#<%= UploadButton.ClientID %>').click();
或者您可以使用ClientIDMode="Static"
,它将呈现与您在.aspx
中所写相同的ID
<asp:Button runat="server" ID="UploadButton"
ClientIDMode="Static" OnClick="Upload_Click" />