js获取页面容器中的控件id方法即遇到的问题

  在实际开发过程中,我们会把一些控件放在容器中,这样生成出来的页面上容器中的控件id就会自动生成前缀+控件id,如果不注意就会导致js获取的时候出现错误。

通过网上查到的资料可以用document.getElementById("<%=btn.ClientID %>")来动态的获取容器中变动的控件id(btn是本来控件的id,btn.ClientID是变化之后的控件id)。

但是如果把该代码放在<head runat="server">中执行,就会报错(控件包含代码块(即 <% ... %>),因此无法修改控件集合。)。

通过相应的文档得出结论是<% %>不能在runat="server"中,博主实际中用到的解决方法是1.

解决方法:

1、把<head>节点中的runat="server"去掉

2、js不要写在<head>节点中

时间: 2024-08-26 02:20:55

js获取页面容器中的控件id方法即遇到的问题的相关文章

ASP.NET 获取不同frame中的控件

最近在做网站时遇到一个问题,需要获取不同frame中的控件,请教了一些同事,他们都说是无法取到的, 在网上查找了很多资料,找到了解决方法,现在整理一下当初的解决思路: 1.我需要在mainFrame中控制leftFrame中一个DIV控件的显示,如图示: 2.直接在mainFrame中通过document.getElementById('div1')去获取,结果取不到: 3.既然直接取不到,那我可不可以先取得leftFrame中所有的控件呢,尝试了一下,是可以的: 1 var iObj=pare

母版页中对控件ID的处理

注:此系列记录在我实际开发中遇到的问题和收藏一些技巧文章. 本篇技巧和诀窍记录的是:母版页中对控件ID的处理. 一.问题提出 由于总体排版和设计的需要,我们往往创建母版页来实现整个网站的统一性,最近我由于统一性的需要,把原来整个项目单独的页面全部套用了母版页.但是出现了一个错误--在我的Blog中记录一下,方便大家参考. 二. 抽象模型 由于整个页面内容过多,所以我把这个页面中最为本质的问题抽象出来.原来单一页面,就是利用按钮触发JS事件,在文本域中插入"(_)"功能,其实现代码如下:

Asp.Net 之 母版页中对控件ID的处理

一.问题提出 由于总体排版和设计的需要,我们往往创建母版页来实现整个网站的统一性,最近我由于统一性的需要,把原来整个项目单独的页面全部套用了母版页.但是出现了一系列失效错误. 二. 抽象模型 由于整个页面内容过多,所以我把这个页面中最为本质的问题抽象出来.原来单一页面,就是利用按钮触发JS事件,在文本域中插入“(_)”功能,其实现代码如下: <head id="Head1" runat="server"> <title>单一页面抽象模型-YJ

js获取easyui的日期输入框控件的值

以下有一个用jqeury easyui的datebox控件写的日期文本框 <input type="text" name="date" size="20" value="" id="date" class="easyui-datebox"/> 在用jquery获取该文本框的值的时候,不能用 var date = $('#date').val(); jqeury easyui有

关于如何获取Google 官方 NavgationView中的控件的方法

最近在想要寻找一个好集成的SlidingMenu,看上了官方的DrawLayout,简单易集成 然后如果想动态改变DrawLayout头部的HeaderVIew的资源的话需要先获取到控件 方法如下 navigationView = (NavigationView) findViewById(R.id.nav_view); View headerView = navigationView.getHeaderView(0); imgHeader =(CircleImageView)headerVie

js获取页面url中的各项值

一. 通过window.location获取各项参数 1.获取页面完整的url url = window.location.href; 2.获取页面的域名 host = window.location.host; host2=document.domain; 应用场景:页面跳转,开发环境和测试环境域名不同,所以需要动态获取后进行拼接跳转的url. 二.javascript正则获取url中的参数 1.通过substr配合split获取 //正则获取url中的参数     function URL_

.net c# 中获得GridView的EmptyDataTemplate中的控件的方法(转)

拖了一个GridView到页面,当没有数据时在EmptyDataTemplate中显示添加的TextBox,但EmptyDataTemplate中不像FooterTemplate可以直接TextBox BankCard= GridView1.FooterRow.FindControl("BankCard") as TextBox;来获取. 研究了一翻,得到解决方法,这里贴出来给有需要的朋友. protected void BankCardAddButton_Click(object s

从模版中找到控件的方法和找到样式的方法

this.Style = (Style) App.Current.Resources["BaseWindowStyle"]; 运行下段代码一定要加载样式完成后 i最好是在 Loaded 事件运行完成后加载   ControlTemplate baseWindowTemplate = (ControlTemplate)App.Current.Resources["BaseWindowControlTemplate"]; Button minBtn = (Button)

如何通过js获取iframe框架中的内容

在父窗口中获取iframe中的元素 IE下:格式:window.frames["iframe的name值"].document.getElementById("iframe中控件的ID").click(); 实例:window.frames["ifm"].document.getElementById("btnOk").click(); 都支持的方法:格式:document.getElementById("ifram