当前位置:编程学习 > C#/ASP.NET >>

如何在JS文件里找到asp.net的控件?

以下代码中,js无法调用c#的方法,关键是用document.getElementById("BTN_TEST")为空,应该怎么解决啊?


<asp:Button ID="BTN_TEST" runat="server" Text="TEST" style="display:none;" OnClick="testJS" />



protected void testJS(object sender, EventArgs e)
{
     //调用
}



document.getElementById('BTN_TEST').click();
--------------------编程问答-------------------- 请看一下HTML代码中有没有BTN_TEST这样一个元素,ASP.NET服务器控件在生成HTML代码时其id会使用一定规则的命名。现在最新的版本中控件支持ClientIDMode属性来使用户明确客户端对应的控件名称。
你可以查一下相关知识,另外如果ascx中的控件放到aspx中,命名也会发生变化。 --------------------编程问答-------------------- 删除style="display:none;" --------------------编程问答-------------------- document.getElementById('<%=Textbox1.ClientID %>')  
--------------------编程问答-------------------- VS里如果设置了服务器控件的VISIBLE属性为FALS则在解析页面时,不RANDER此控件,所以在前台是找不到,可以用CSS来隐藏此控件,再用JS来取值!  --------------------编程问答--------------------
引用 3 楼 peter200694013 的回复:
document.getElementById('<%=Textbox1.ClientID %>')

123 --------------------编程问答-------------------- ,ASP.NET服务器控件在生成HTML代码时其id会使用一定规则的命名。现在最新的版本中控件支持ClientIDMode属性来使用户明确客户端对应的控件名称。
--------------------编程问答--------------------
引用 3 楼 peter200694013 的回复:
document.getElementById('<%=Textbox1.ClientID %>')


用你这种方法,获取到的还是null。我的写法是如下,其中BTN_TEST是一个asp:button的ID.
var a = document.getElementById('<%=BTN_TEST.ClientID %>');
alert(a);
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,