我有一个ASP.NET用户控件,用于另一个使用控件。父用户控件使用数据绑定绑定到子用户控件的自定义属性。
在确保设置属性状态的情况下,我可以覆盖或分页事件的方法是什么?
我认为在页面中它是PageLoaded而不是Page_Load覆盖?我在用户控件中寻找这个,因为我的属性总是为null,即使它已设置。
感谢。
实施例。这是我的用户控制。 FilterEntryId正在从另一个用户控件中绑定:
protected int _filterEntry = -1;
public int FilterEntryId
{
get
{
return _filterEntry;
}
set
{
_filterEntry = value;
}
}
protected void Page_Load(dobject sender, EventArgs e)
{
FilterEntry always -1!!
}
正在设置属性,但在Page_Load时永远不会有价值。 Page_LoadComplete可能是正确的位置,但似乎不是用户控件中的选项。我也试过了Page_DataBind。
我的假设是,这是一个页面生命周期问题,但它可能是其他问题。
答案 0 :(得分:0)
不确定您需要对该属性执行什么操作,但因为您无法确定何时将设置该属性。你不能在房产的set
上添加你的逻辑吗?
另一个选项是PreRender
以后的事件。
public int FilterEntryId
{
get
{
return _filterEntry;
}
set
{
_filterEntry = value;
//HERE YOUR LOGIC
}
}