Вызвать элемент управления для установки свойства - PullRequest
2 голосов
/ 23 марта 2010

У меня есть именно эта проблема

ASP.net не может обновить страницу из обработчика событий

и на это ответили! Моя единственная проблема - я не совсем понимаю решение. Как это сделать Вызов элемента управления при установке свойства.

У меня есть элемент управления меткой, но на нем нет свойства / метода Invoke.

Я пробовал это ...

PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(Label1);
        PropertyDescriptor myProperty = properties.Find("Text", false);
        myProperty.SetValue(Label1, "my value");

но это похоже на

label1.text = "my value"

который не работал

Ответы [ 2 ]

3 голосов
/ 27 ноября 2012

Вам нужно что-то вроде этого:

делегат 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;
}
2 голосов
/ 23 марта 2010

Обычно вы вызываете элемент управления следующим образом:

this.label1.Invoke(new MethodInvoker(delegate
    {
        this.label1.Test = "my value";
    }));  

К сожалению, в WebControls.Label нет метода Invoke.

Один из способов - это написать веб-метод, который возвращает строку в веб-сервисе, и установить для него значение Label.Text , я нашел пример здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...