C# 未设置用户控件属性值
我有一个用户控件:C# 未设置用户控件属性值,c#,asp.net,user-controls,C#,Asp.net,User Controls,我有一个用户控件: public Guid ItemID { get { return this.ViewState.GetValue<Guid>("UserControl.ItemID", Guid.Empty); } set { ViewState["UserControl.ItemID"] = value; } } public ov
public Guid ItemID
{
get
{
return this.ViewState.GetValue<Guid>("UserControl.ItemID", Guid.Empty);
}
set
{
ViewState["UserControl.ItemID"] = value;
}
}
public override void DataBind()
{
base.DataBind();
this.ConfigureControls();
}
private void ConfigureControls()
{
// I am using ItemID here
}
公共Guid项目ID
{
收到
{
返回此.ViewState.GetValue(“UserControl.ItemID”,Guid.Empty);
}
设置
{
ViewState[“UserControl.ItemID”]=值;
}
}
公共覆盖无效数据绑定()
{
base.DataBind();
此.ConfigureControls();
}
私有void配置控件()
{
//我在这里使用ItemID
}
这里的问题是,当我在配置控件和Item ID属性的Get Setter上放置断点时,它首先在配置控件上,导致ItemID为null
如何才能首先初始化我的属性?
ViewState.GetValue
必须是您提供的扩展方法。您的代码需要在ConfigureControls()
@DavidArno之前调用ItemID=someGuid
-是否需要在usercontrol本身上执行此操作?还是在网页上消费?