2016-05-20 4 views
0

У меня есть экземпляр пользовательского бизнес-класса на странице веб-форм asp.net (.NET 4.0). У этого класса есть настраиваемые события, которые бросаются. Страница веб-форм устанавливает обработчики событий для событий перед вызовом бизнес-класса. Эти обработчики событий делают материал на странице (устанавливают текст ярлыка, изменяют mulitview и т. Д.). Моя проблема в том, что иногда обработчик события срабатывает (проверяется путем отладки кода и выполняется через него), но изменения в пользовательском интерфейсе (установка текста ярлыка) не отображаются на страницеОбработчики событий ASP.NET, не меняющие пользовательский интерфейс

Вот упрощенный пример -

private void MyMethod() 
{ 
    var myClass = new MyClass(); 
    myClass.PromptForAdditionalData += OnPromptForMoreData; 
    myClass.DoSomethingElse += OnDoSomethingElse; 

    myClass.ExecuteMethod(); 
} 

private void OnPromptForMoreData(object sender, EventArgs e) 
{ 
    label3.Text = "Blah blah blah"; 
    multiView1.SetActiveView(view1); 
} 
+0

код выглядит странно с ASP.Net стоять точка. Чего вы пытаетесь достичь? – Win

+0

Вы не можете этого сделать. Вам нужен AJAX. Посмотрите на Signalr. – SLaks

+0

Я пытаюсь, чтобы моя страница asp.net вызывала метод класса, который может запускать 1 из 2 разных событий. Моя страница должна действовать соответственно в зависимости от того, какое событие было выбрано. –

ответ

0

Другие варианты без AJAX, попытка обратной передачи или перенаправления на текущую страницу.

Это ссылка для перенаправления: https://msdn.microsoft.com/en-us/library/a8wa7sdt(v=vs.110).aspx

+0

можете ли вы объяснить, что AJAX или postback/перенаправить на текущую страницу, чтобы решить мою проблему? –