事件触发但不更新文本框

时间:2014-03-26 00:57:38

标签: c# asp.net events

我有一个asp.net应用程序,它有webform1.asp.cs和一个自定义类class1。 class1在webform1.asp.cs中实例化。我正在从class1中提出自定义事件event1。此事件1在webform1.asp.cs中使用。我有一个asp.net文本框控件(多行)。在webform1.asp.cs中消费event1代码,我写了一些文本到asp.net文本框。事件被引发但文本框不显示文本。但是,当我写入Debug时,它会显示文本。发生了什么事?

// class1中的事件代码:

public delegate void StatusChange(object sender, EventHelper args);
public class EventHelper : EventArgs
{
    public string message;
}

EventHelper e1 = new EventHelper();
            e1.message = "some text";
           OnStatusChange(this, e1);

//在webform1.asp.cs中:

protected void Page_Load(object sender, EventArgs e)
{
    Class1 cs = new Class1();
    cs.OnStatusChange +=cs_OnStatusChange;
}

void cs_OnStatusChange(object sender, EventHelper e)
{
    TextBox1.Text += e.message;
}

1 个答案:

答案 0 :(得分:0)

最后,我意识到当事件发生时,asp.net webcontrols不会被重新呈现,除非你回发。这意味着当事件从另一个类引发时,虽然事件处理程序正在工作,并且看起来文本框已填充在代码中,但它没有在UI上呈现。我最终创建了一个WPF浏览器应用程序。