ASP.NET中内嵌页面代码的一个问题
更新时间:2010年02月25日 09:12:58 作者:
如果页面继承了一个父页面,而且当前页面用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
父页面:
复制代码 代码如下:
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
相关文章
关于服务器或虚拟主机不支持 AjaxPro 的问题终极解决方法
asp.net的网站,访问时提示不支持 AjaxPro,那就因为误删的映射导致,可以通过下面的方法解决2012-03-03


最新评论