簡體   English   中英

如何在ASP.NET中通過id獲取元素?

[英]How to get element by id in ASP.NET?

我嘗試了所有可能的解決方案來獲取id的元素值,但它不起作用。 我正在使用ASP.NET,我已經搜索了控件,我知道服務器更改了TextBox1的id,所以我們使用clientID 但是當我編寫console.log(data1)時,我什么也沒得到或者是空的空間。

var data1 = document.getElementById('MainContent_TextBox1').textContent;
var data1 = document.getElementById("<%=MainContent_TextBox1.ClientID %>").value; 

這是ASPX代碼:

<asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>

而這個JS代碼:

 var data1 = document.getElementById('MainContent_TextBox1').textContent;

在控制台中,我收到此錯誤:

未捕獲的SyntaxError:輸入的意外結束及其在主文件中的引用!

console.log(data1); 在控制台中顯示為空位。

如果有人知道另一種方式或為什么它不起作用,請告訴我。

服務器控件的ID被更改並附加了內容占位符ID,因此一個非常簡單的解決方案是在服務器控件上設置屬性ClientIDMode="static" 通過設置此控件的ID將保持不變並且不會更改,因此您將通過javascript中的getElementById找到它。

<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="static" ></asp:TextBox>

1.您可能遇到與此問題相同的問題:

Javascript按ID獲取元素並設置值

如果頁面在javascript運行之前尚未加載該元素,則getElementById將返回null。

“所以,確保你的[元素]確實存在於頁面中,然后調用[getElementById],你可以使用window.onload或$(document).ready函數。”

2.錯誤: Uncaught SyntaxError: Unexpected end of input and its reference in the master file可能是由於缺少braket或其他格式錯誤引起的。 仔細檢查一切都寫得正確。

您可以嘗試這樣來獲取內容頁面中的母版頁控制值。 document.getElementById('<%= Master.FindControl(“Textbox1”)。ClientID%>')。 如果它是同一頁面,那么你應該可以直接使用document.getElementById(“<%= TextBox1.ClientID%>”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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