document.getelementbyid('txtbox')
无效,因为它在普通网页中工作。在contentpage中使用该值时为null。 Plz任何人帮助我
答案 0 :(得分:2)
ID已更改,您可以使用类似:
的document.getElementById(小于%= txtTextBox.ClientID%GT)。值
或者您可以查看来源以获取ID,希望它不会再次更改。
如果您有选项,我会切换到其他引擎,例如您可以控制HTML的asp.net mvc。
答案 1 :(得分:2)
当页面呈现时,如果textBox在另一个控件下,则Id趋于改变。
您可以使用ClientId
属性:
document.getElementById("<%= txtbox.ClientID %>")
答案 2 :(得分:1)
阅读这篇文章
Control ID Naming in Content Pages
ASP.NET允许某些控件 表示为命名容器。一个命名 容器用作新ID 命名空间。任何服务器控制它 出现在命名容器中 将其呈现的id值作为前缀 使用命名容器的ID 控制。
命名容器不仅会改变容器 渲染的id属性值,也是 影响控制的方式 以编程方式引用 ASP.NET页面的代码隐藏类。该 FindControl(“controlID”)方法是 常用于编程 引用Web控件。然而, FindControl没有穿透 命名容器。因此,你 不能直接使用了 Page.FindControl方法引用 GridView或其他内部的控件 命名容器。
母版页和ContentPlaceHolders 都是作为命名实现的 容器