如果页面继承了一个父页面,而且当前页面用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