电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

asp net技巧 前台页面代码绑定后台程序

5页
  • 卖家[上传人]:小**
  • 文档编号:89122270
  • 上传时间:2019-05-18
  • 文档格式:DOC
  • 文档大小:19.50KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、ASP NET技巧前台页面代码绑定后台程序ASP.NET技巧:前台页面代码绑定后台程序变量2010年11月30日ASP.NET编程 经常会碰到在前台页面 代码中要使用(或绑定)后台程序 中变量值的问题。一般有和两种方式,这里简单总结一下。如有错误或异议之处,敬请各位指教。 一 方面,这里所讲的前台即通常的.aspx文件,后台指的是与aspx相关联的CodeBehind,文件后缀名为.aspx.cs;另一方面,这里的绑定 是指用户发出访问某一页面指令后,服务器端在执行过程中就已经将前台代码进行了赋值,而后生成html格式回传客户端显示,而并非已经显示到客户端后,然 后通过其他方法(如ajax)去服务器端获取相应变量。 备注:上面说的两个文件是常见的代码隐藏(code-behind)模式,还有 一种是代码嵌入(code-beside, inline)模式,那就是只存在aspx一个文件,而后台代码则写入此文件的之中(还 有一些语法上区别),这对于本文讨论的问题略有影响,因为代码嵌入是声明性代码与C#/VB.NET代码都一起编译到一个类里面,而代码隐藏则将声明性代 码与C#/VB.NET代码分

      2、开几次进行翻译/编译,因此前者是局部与局部(partial)的关系后者基类与派生类的关系,但这仅仅影响所能绑定变量的 范围(与修饰符有关),下面会提到。以下均以代码隐藏模式为例。 一般来说,在前台代码的三种位置可能会用到(绑定)后台变量: 服务器端控件属性或HTML标签属性 JavaScript代码中 Html 显示内容的位置(也就是开始标签与结束标签之间的内容,如这里(Html标签)或者这里(服务器端控件),它作为占位符把变量显示于符号出现的位置) 对于第一种位置,有一些约束条件: (1)一般的属性要求是字符串型或数值型(下面会提到有些服务器端属性支持属性为数据集合); (2)并不是所有的属性都可以绑定变量,有些属性例如runat属性必须是server常量,即使绑定的字符串是server,也会导致分析器分析时出错; (3)有一种属性,他要求属性值有约束(类型约束,比如服务器端控件要求TabIndex属性是short类型,或者字符串内容有约束),也应该在绑定时满足,否则依然可能编译时报错; (4) 还一种属性,虽然属性本身有约束,但即使绑定的变量不满足约束,也可以编译通过,比如inpu

      3、t的checked属性,它只有checked字符串是合法 的,但如果通过绑定获取到的字符串不是checked,那么这些属性将有自己内部处理机制,来保证可以正常使用; (5)还要注意,即使对于同一类属性,服务器端和HTML的属性的处理机制也不同,同样是TabIndex(tabIndex),前者如果不满足,则分析器错误,后者则忽略这一问题。 对于第二种位置,一般只要绑定的后台变量和JavaScript中数据类型兼容即可。 对 于第三种位置,如果绑定出现的位置不在服务器端控件内部,则没有约束条件,只要是常量字符串可以出现的位置,均可以绑定。但是对于置于服务器端控件内部, 也就是上面那种这里的方式,则有约束条件。通过总结,归纳为四类服务器端控件,如果绑定的代码出现在这些控件的开始和结束标签之间(这里所说的 控件,是指如果绑定代码外有多层的嵌套控件包围,则是指包围绑定代码的最内层控件),有不同的显示结果: (1)约束型控件:这类控件要求它的开始标签和结束标签中只能包含指定的子控件,因此如果在这里出现代码块,将编译错误。例如: ,在它之间,要求必须嵌套。 (2)非嵌套类控件:这类控件,不允许在内部

      4、嵌套其他控件或标签,只能是常量字符串,它会将开始标签和结束标签中常量字符串内容作为他的属性。例如上面提到的TextBox,它会将标签间内容作为它的Text属性值。 (3)嵌套类控件:这类控件,可以嵌套其他任意控件,也可以包含字符串,因此可以正常显示绑定代码块所表示的字符串内容。例如Label控件、Panel等。 (4)数据绑定类控件:这类控件是ASP.NET提供的服务器端控件,除了可以绑定普通的变量类型,也可以绑定一个数据集合(只能采取下面的第二种方式实现)。 关于是否加引号:在以上三个位置使用时,是否应该将或置于单引号或双引号中呢?对于在不同位置,处理的方式是不同的:(具体请在下面两种方式的具体介绍时,加以体会) (1) 对于第一种位置,由于JavaScript是弱类型的,如果绑定时加引号,显然就认为就当做字符串来处理,这始终是正确的;如果绑定时不加引号,它将认为 这是个数值型的,那么如果获取的真是数值,当然可以,如果是非数值型,则将产生脚本错误,这即使对于JavaScript赋值常量时,也是同样的: 以下为引用的内容: var test1 = 123b;/运行时报错 var tes

      5、t2=123;/正确,是数值型 var test3=123b;/正确,字符串型 (2)对于第二种位置,经过测试,无论是对于服务器端控件属性还是HTML标签属性,加引号总是正确的;如果不加引号,则两种属性的处理方式不同: 对 于服务器端控件属性,如果绑定的代码块不加引号,则编译时会提示验证(ASP.NET):特性值前后必须加引号的警告信息,但是生成为HTML后,对 应生成的HTML属性已经被加上引号并获取了正确的绑定结果,因此加不加引号不会影响使用,但是建议对于规范的代码,还是加上为好; 对 于HTML标签属性,如果不加引号,则编译时会提示验证(XHTML 1.0 Transitional): 特性值前后必须加引号的警告信息,并且 生成为HTML属性也确实没有加上引号,那么虽然属性后面确实是没有加上引号的正确的绑定值,但是不一定能展示出想要看到的结果。比如对于input标签 的value属性,如果绑定的字符串是 hello world from variable,则在客户端的input显示出的内容实际上只是hello字符串,生效的属性值是一个被截断的字符串,它从属性后的一串字符串(若未加

      6、引号)的第一个非空字符开始,截止到下一个空字符的前一个字 符为止(比如对于 hello world,结果将是hello),因此,加上引号是必须的。 (3)对于第三种位置,加与不加引号,获取的值及其显示均不受影响。 因此建议,所有绑定表达式都加上引号,作为字符串获取,然后根据实际需求,用相应函数进行转换,得到所需要的类型。 另外,这里所说的后台变量是泛指的,包括如下: 成员变量 方法或属性的返回值 表达式,也就是所有后台能够执行的代码,运行后所得到的值(也就是直接将后台代码写在前台代码中,记得使用完全限定名或在后台中using相关namespace) 数据集合 后台变量有一些约束条件,需要满足: (1) 变量修饰符要求。变量是静态或者实例字段均可。对于代码隐藏模式的ASP.NET,以上的所述的变量必须为public或protected类型(因为是 基类与派生类的关系),private或者internal都不行,而代码嵌入模式则任何修饰符的变量均可访问(一个类内部的关系)。 (2) 变量类型要求。由于前台属性一般是字符串类型,而JavaScript基本类型也就是字符串型、数字型、布尔型,因此对应的变量应该也是这几种方式,其余 类型如果不被支持(如复杂类型、数组、引用类型等),前台获取的就是调用了变量的ToString()方法所得到的字符串。因此,在绑定时,要根据情况看 是否能进行隐式类型转换,必要时还要用相关函数来强制转换,以保证前台可以获得正确的值。当然,对于数据绑定类控件,它的有些属性可以为数据集合,但这时 的绑定只能通过下面第二种方式才被支持。 以上是一些概念和基本约束,这些都是两种方式都应该满足的,下面具体介绍两种方式,来实现前台代码中(以下称为代码块)绑定后台变量的功能。

      《asp net技巧 前台页面代码绑定后台程序》由会员小**分享,可在线阅读,更多相关《asp net技巧 前台页面代码绑定后台程序》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.