• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > 从外部的js文件中获取ASPX页面的控件ClientID

从外部的js文件中获取ASPX页面的控件ClientID

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了个推获取clientid,clientid,clientid什么意思,clientid翻译,个推 clientid等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
前言
当使用MasterPage、UserControl等容器时,为了避免控件的重复命名,asp.net会自动将容器中的控件生成一个ClientID(Control Tree中的可生成,否则不会生成)。
例如:ContentPlaceHolder1中的Button1默认情况下会生成“ctl00_ContentPlaceHolder1_Button1”的ClientID。
我们在Render出来的mark up中看到的也是这些ClientID。所以,当我们使用JavaScript对控件元素进行操作的时候,必须使用ClientID来对控件进行查找。
Inline情况下的解决方案
如果JavaScript代码写在.aspx文件中时,也就是Inline Script时。在页面生成的时候,我们能够通过绑定机制将控件的ClientID绑定到页面Mark up中,故可使用:
document.getElementById("<%=Me.txtTest.ClientID %>" )
来获取一个控件的真实引用,当然,FindControl等方法也可以写在<%=...%>中用来绑定服务端数据到客户端。
external JS情况下的解决方案
然而,部分情况下,为了解耦,我们常常把JavaScript单独写在.js文件中,再引用到aspx文件中去。这种情况下,.js文件内的代码不能通过<%=...%>来进行服务端数据的绑定,所以上面的方法是不能用的。
此时简单点的解决方案就是直接在JavaScript中写控件的ClientID,但这样增加了JS文件和ASPX的耦合度,非常不推荐使用。
我常用的方法有两种,在此抛砖引玉:
案例:
Default5.aspx是MasterPage.master 的内容页,本例中的主要文件。
JScript.js是一个外部的js文件,用来处理JavaScript操作。
Button1是Default5.aspx中的一个<ASP:Button>,用来显示效果。
Button2是Default5.aspx中的一个<input type=button>,用来触发JavaScript。
需求:点击Button2,将Button1上的文本改成“from extended js”
方案一:使用内联JS访问器
要想在外部JS中获得ASPX动态生成的ClientID,可以通过在ASPX页面中添加访问器的方式来实现,类似OO语言中的属性:
我们在Default5.aspx中添加如下代码:
作用:①声明getClientId访问器,并注册Button1的ClientID。②引用JScript.js文件
///<reference path="Default5.aspx"/> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 从外部的js文件中获取ASPX页面的控件ClientID

相关文章

  • 2017-05-11在.ashx文件中获取cookies值实现代码
  • 2017-05-11ASP.NET之自定义异步HTTP处理程序(图文教程)
  • 2017-05-11ASP.NET Substitution 控件的使用方法
  • 2017-05-11详解ASP.NET Core实现强类型Configuration读取配置数据
  • 2017-05-11KindEditor图片上传的Asp.net代码实例
  • 2017-05-11.net后台代码调用前台JS的两种方式
  • 2017-05-11silverlight用webclient大文件上传的实例代码
  • 2017-05-11未将对象引用设置到对象的实例 (System.NullReferenceException)
  • 2017-05-11asp.net ajaxControlToolkit ValidatorCalloutExtender的简单用法
  • 2017-05-11ASP.NET静态页生成方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • .net cs后台刷新aspx页面的四种方式
    • 使用Entity Framework(4.3.1版本)遇到的问题整理
    • ASP.NET MVC 3仿Server.Transfer效果的实现方法
    • ASP.NET MVC自定义错误页面真的简单吗?
    • 高效的.Net UDP异步编程实现分析
    • asp.net2.0实现邮件发送(测试成功)
    • asp.net 无限分类第1/3页
    • Asp.net实时显示文本框字数实现代码
    • asp.net 独立Discuz头像编辑模块分离打包
    • .NET动态加载用户控件并传值的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有