调用Master页面上的属性

一直一来学习东西都不是很仔细,经常被一些小问题耽误了很多时间。(记住一定要改正这个缺点,细节决定成败)

Master属性是内容页和母版页之间的一个沟通桥梁,但是如果我们在内容页面直接使用的话就会遇到我的问题,编译无法通过,说Master没有该属性,奇怪啊,我明明在Master页面代码里用public定义了一个属性啊,为什么在Content页面却死活看不见,气人~!

后来通过Google搜索和朋友的帮助终于知道自己错在哪里了,因为Master属性被定义为MasterPage类型,因此它是不知道我们实际为Master页面定义的任何属性或方法的相关信息的。为了让我们的Master属性知道我们对它做的手脚,就必须使用以下的方法来做:
  • 强制转换:使用Master实际的类型做强制类型转换。
  • 强类型化:如果你用的很多,是不是每次都强制类型转化很是麻烦啊,恩,M$肯定会替你想到的,因此我们可以在页面上添加@MasterType指令,它里面包含连个互斥的属性:VirtualPath和TypeName。前者通过URL指出,后者通过类型名指出。
参考图书:
  • 《ASP.NET 2.0 技术内幕》ISBN:7-302-13429-4
  • 《ASP.NET 2.0 高级编程》(第四版)ISBN:7-302-13906-7

posted on 2008-06-16 20:44  啊不才  阅读(659)  评论(0编辑  收藏  举报

导航