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

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjjsyf.html