Как отобразить сообщение об ошибке на странице, которая была возвращена из BeginAsyncOperation?Страница загружается изящно без данных, но пользователь не знает, почему?Я проверил, что ошибка была выдана, но не обработана в BeginAsyncOperation.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AddOnPreRenderCompleteAsync(
new BeginEventHandler(BeginAsyncOperation),
new EndEventHandler(EndAsyncOperation)
);
}
}
private IAsyncResult BeginAsyncOperation(object sender, EventArgs e, AsyncCallback callback, object state)
{
var t = new ThreadStart(GetData);
try
{
return t.BeginInvoke(callback, null);
}
catch (Exception ex)
{
this.lblError.Text = ex.Message;
this.pnlError.Visible = true;
}
return null;
}
private void EndAsyncOperation(IAsyncResult result)
{
BindData();
SetControlStates();
}
private void GetData()
{
try
{
throw new Exception("something broke!");
}
catch (Exception ex)
{
throw ex;
}
}