ASP.NET 获取不同frame中的控件
最近在做网站时遇到一个问题,需要获取不同frame中的控件,请教了一些同事,他们都说是无法取到的,
在网上查找了很多资料,找到了解决方法,现在整理一下当初的解决思路:
1、我需要在mainFrame中控制leftFrame中一个DIV控件的显示,如图示:

2、直接在mainFrame中通过document.getElementById('div1')去获取,结果取不到;
3、既然直接取不到,那我可不可以先取得leftFrame中所有的控件呢,尝试了一下,是可以的;
var iObj=parent.document.getElementById('leftFrame').contentWindow;
4、都已经取到所有控件了,那我取一个div,不是就很好取了,如下;
iObj.document.getElementById('divTierNotes').style.display='none';
5、这样问题就解决了。
备注:
用iFrame嵌套页面时,如果父页面要获取子页面里面的内 容,可以使用contentWindow和contentDocument
contentWindow和contentDocument的区别:
>contentWindow:这是个只读属性,返回指定的iFrame的 window对象,各个主流浏览器都支持。
>contentDocument:Firefox支持,IE8以上版本支持,可 取得iFrame的document对象,需要如此访问 document.frames['leftFrame'].doucment。
完整代码:
JS文件:
function chkTierNoteDis(strDis)
{
//兼容所有浏览器
var iObj=parent.document.getElementById('leftFrame').contentWindow;
iObj.document.getElementById('div1').style.display=strDis;
} 后台:
string strDis = "none";
ClientScript.RegisterStartupScript(this.GetType(), "key", "<script>chkTierNoteDis('" + strDis + "');</script>");
ASP.NET 获取不同frame中的控件的更多相关文章
- Windows获取其他进程中Edit控件的内容
最近做的MFC项目中,有个获取其他进程中Edit控件内容的需求,本来以为是个很简单的问题,但是来来回回折腾了不少时间,发博记录一下. 刚开始拿到这个问题,很自然的就想到GetDlgItemText() ...
- 【VC版】如何获取其他进程中ListView控件中的内容
如果需要C#版的,可以看下我之前写的:C#如何获取其他程序ListView控件中的内容 获取其他进程的数据需要使用到以下几个函数: VirtualAllocEx() VirtualFreeEx() W ...
- gridview_RowCommand 获取当前行中的控件
<asp:GridView ID="gvStorglog" runat="server" Width="100%" SkinID=&q ...
- 041. asp.net中内容页访问母版页中的控件
母版页运行机制: 用户通过输入内容也的URL来请求某个页面, 获取该页面后, 读取@Page指令, 如果该指令引用了一个母版页, 则也读取该母版页, 如果也是第一次请求这两个页面, 则母版页和被请求的 ...
- [转载]ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值
原文地址:http://www.cnblogs.com/yxyht/archive/2013/03/02/2939883.html ASP.NET中TextBox控件设置ReadOnly=" ...
- .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】
1.首先在前台dataGridview属性中增加onRowDataBound属性事件 2.然后在后台Observing_RowDataBound事件中增加代码 protected void Obser ...
- ASP.NET 后台不识别ASPX中的控件
请问后台不识别ASPX中的控件,怎么解决 这个程序是在网上下载的 C# code <asp:DataGrid runat="server" ID="dgList1& ...
- asp.net 前台js和后台得到FormView中的控件,以TextBox为例
一.前台js获取FormView中的控件 js得到前端控件的ID,比如TextBox(这里设置其ID为TextBox1),大家都知道,是document.getElementById("&l ...
- js中使用控件名和数组下标方式获取控件的值时失败
在做界面展示时涉及到表单行项目的增加和删除时,我们一帮都使用js的脚本实现表单行的增加和删除,那么在进行表单的提交的时我们会再页面上进行提交数据的初步校验,进行数据的初步校验时,就要动态获取控件的值. ...
随机推荐
- js中this的问题
Javascript的this用法 this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如, function test(){ ; } 随 ...
- 异步数据库查询 Z
Introduction Microsoft .NET 4.5 introduced new "async and await" methods to provide an eas ...
- Mono addin 学习笔记 4 再论数据扩展点(Data only extension point)
1. Attribute声明方式 定义扩展属性 [AttributeUsage(AttributeTargets.Assembly, AllowMultiple= true)] public clas ...
- 查看.NET Service Pack版本
原文地址:如何确定已安装的 Microsoft .NET Framework 版本和 Service Pack 级别 使用以下注册表信息确定已安装的 Microsoft .NET Framework ...
- JAVA 多线程和并发学习笔记(二)
一.Java中创建线程方法 1. 继承Thread类创建线程类 定义Thread类的子类,重写该类的run()方法.该方法为线程执行体. 创建Thread子类的实例.即线程对象. 调用线程对象的sta ...
- eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法
问题描述: 使用eclipse,因为某种原因项目名称修改后,使用tomcat进行web发布时,选择“Add and Remove Projects...”或双击打开选择Modules选项卡后点击“An ...
- MySQL 常用命令(持续更新)
停止启动MySQL服务 停止:net stop mysql启动:net start mysql 查看正在运行的线程 SHOW PROCESSLIST SHOW FULL PROCESSLIST 杀死线 ...
- js加载顺序
在jsp页面中引js文件,页面按照js顺序加载,若js中存在相同的方法,应该会执行顺序在前的js中的方法.有时候遇到js方法不执行或者执行不对的情况,可能就是js的顺序问题,有时候会找很久找不到问题. ...
- [转]A Guide To using IMU (Accelerometer and Gyroscope Devices) in Embedded Applications.
原文地址http://www.starlino.com/imu_guide.html Introduction There’s now a FRENCH translation of this art ...
- 易语言软件加VMProtect壳的正确方法
VMP是一款很强大的加密壳,代码虚拟化技术可以很好的保护程序不被恶意修改破J但是很多人不知道怎么给自己的程序加壳,今天给大家晋级下加壳的正确方法 相信很多新手都以为只要把软件直接拖到VMP里重新编译一 ...