asp.net按钮 - JS点击不起作用
问题描述:
我想从JS调用C#函数。我不能使用ajax。我试图从JS创建ASP.NET按钮时,点击它,它调用C#函数并调用点击功能:asp.net按钮 - 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"
。
我已经看到这个答案:Button's .click() command not working in Chrome但我没有完全得到这个。
答
您应该设置ClientIDMode
到Static
<asp:Button runat="server" ID="UploadButton" ClientIDMode="Static" OnClick="Upload_Click" />
否则,会有一些随机化ID,由ASP.NET生成,设置的ClientIDMode为静态,你说ASP.NET不要搞弄你的ID并保持完好。
另一个选项是使用ClientID
财产将有自动生成的ID的类似
document.getElementById('<%= UploadButton.ClientID %>').click();
答
值试试这个
在ASP.net在页面呈现它会改变它的财产以后像'containerName...YourButtonName'
因此使用ClientID
您将获得Button的实际ID。
document.getElementById('#<%= UploadButton.ClientID %>').click();
或者您可以使用ClientIDMode="Static"
将呈现你在你的.aspx
<asp:Button runat="server" ID="UploadButton"
ClientIDMode="Static" OnClick="Upload_Click" />
写相同的ID