簡體   English   中英

asp.net按鈕-JS單擊不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM