我需要一种方法来初始化我的Web控件的属性,当它被放置在设计器区域时。作为“初始化”我的意思是:如果我的控件具有属性Prop1。我需要为Prop1分配一个值,我需要将此值保存在ASPx上。
我尝试了以下内容:
我的问题:如何初始化我的控件属性?
PS:我知道如何设置我的控件的属性。我使用以下代码在智能标记上正常工作:
PropertyDescriptor descriptor = TypeDescriptor.GetProperties(this.Component)["Prop1"];
descriptor.SetValue("Value");
修改
我忘了提到我不能使用ToolBoxData,因为我需要进行处理以确定属性的值
答案 0 :(得分:1)
[ToolboxData("<{0}:MyControl runat=\"server\" Prop1=\"Value\" />")]
public class MyControl
{
}
答案 1 :(得分:-1)
descriptor.SetValue("Value");
没有这样的方法。 MSDN 我也不太明白你为什么用反射来设置已知类型的属性?
也许这可以帮到你一点:A Crash Course on ASP.NET Control Development: Design-Time Features and Capabilities