当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET中内嵌页面代码的一个问题

ASP.NET
ASP.NET 打造互联网未来空间站(3)
ASP.NET 打造互联网未来空间站(4)
Asp.net+Xml开发网络硬盘
ASP.NET中树形图的实现
ASP.NET中Cookie编程的基础知识(1)
ASP.NET中Cookie编程的基础知识(2)
ASP.NET中Cookie编程的基础知识(3)
ASP.NET中Cookie编程的基础知识(4)
ASP.NET中Cookie编程的基础知识(5)
ASP.NET中Cookie编程的基础知识(6)
ASP.NET中Cookie编程简明参考
ASP.NET中数据库的操作初步(1)
ASP.NET中数据库的操作初步(2)
ASP.NET中数据库的操作初步(3)
最佳ASP.NET编程习惯
Microsoft .NET 框架常见问题(一)
Microsoft .NET 框架常见问题(二)
用Visual C#打造个性化的IE浏览器
.NET Compact Framework的强大二维图形引擎
VB.NET如何在没有.NET框架的机器上运行

ASP.NET中内嵌页面代码的一个问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 278 ::
收藏到网摘: n/a

如果页面继承了一个父页面,而且当前页面用new覆盖了父页面的某个属性 比如
父页面:
复制代码 代码如下:

public class BasePage : System.Web.UI.Page
{
public int HotelID
{
get
{
return 1;
}
}
}

子页面:
复制代码 代码如下:

public partial class UpdateAlbumAttachments : BasePage
{
public new int HotelID
{
get
{
return 0;
}
}
}

则在*.aspx中写签入代码时只会读取this.HotelID,即使用base.HotelID读取到的属性值仍然是this.HotelID
比如在UpdateAlbumAttachments.aspx中写<%=base.HotelID %>获取到的是0而不是应该的1
当然如果在后台代码中肯定是能得到base.HotelID的
只能重不同的名字来区分,不懂为什么,算ASP.NET的bug么?
((BasePage) this).HotelID 可以得到1