[英]asp.net button - JS click does not work
我正在嘗試從JS調用C#函數。 我不能使用ajax。 我試圖創建一個ASP.NET按鈕,當它單擊時會調用C#函數並從JS調用click函數:
在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的click事件不起作用。 我試圖在JS代碼的第一行之后寫一個警報,以查看代碼是否豐富到該行,但是我只能看到"After CLICK"
。
我已經看到了這個答案: Button的.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'
類'containerName...YourButtonName'
東西進行更改,因此,使用ClientID
您將獲得Button的實際ID。
document.getElementById('#<%= UploadButton.ClientID %>').click();
或者,您可以使用ClientIDMode="Static"
來呈現與您在.aspx
編寫的ID相同的ID。
<asp:Button runat="server" ID="UploadButton"
ClientIDMode="Static" OnClick="Upload_Click" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.