繁体   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