我有这个问题
ASP.net can’t update page from event handler
已经回答了!我唯一的问题是我真的不明白解决方案。如何在设置属性时调用控件。
我有一个标签控件,但似乎没有一个Invoke属性/方法。
我试过了......
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(Label1);
PropertyDescriptor myProperty = properties.Find("Text", false);
myProperty.SetValue(Label1, "my value");
但这似乎与
相同label1.text = "my value"
哪个不起作用
答案 0 :(得分:3)
你需要这样的东西:
委托void UIDelegate(对象组件,对象值);
if (this.save_button.InvokeRequired)
{
this.save_button.Invoke(new UIDelegate(TypeDescriptor.GetProperties(this.save_button).Find("Enabled", false).SetValue),
new object[] { this.save_button, true });
}
else
{
this.save_button.Enabled = true;
}
答案 1 :(得分:2)
通常你会调用这样的控件:
this.label1.Invoke(new MethodInvoker(delegate
{
this.label1.Test = "my value";
}));
不幸的是,WebControls.Label上似乎没有Invoke方法。
解决这个问题的另一种方法是write web method which returns a string in web service and set it to Label.Text,我找到了一个例子here。