C# AddOnPreRenderCompleteAsync异常处理
如何将错误消息显示到从BeginAsyncOperation返回的页面?页面加载优雅,没有数据,但用户不知道为什么?我验证了该错误是在BeginAsyncOperation中抛出的,但没有得到处理C# AddOnPreRenderCompleteAsync异常处理,c#,asp.net,asynchronous,exception-handling,C#,Asp.net,Asynchronous,Exception Handling,如何将错误消息显示到从BeginAsyncOperation返回的页面?页面加载优雅,没有数据,但用户不知道为什么?我验证了该错误是在BeginAsyncOperation中抛出的,但没有得到处理 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { AddOnPreRenderCompleteAsync( new BeginEventHandle
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;
}
}
我想得太多了
private IAsyncResult BeginAsyncOperation(object sender, EventArgs e, AsyncCallback callback, object state)
{
var t = new ThreadStart(GetData);
return t.BeginInvoke(callback, null);
}
private void GetData()
{
try
{
throw new Exception("something broke!");
}
catch (Exception ex)
{
this.lblError.Text = ex.Message;
this.pnlError.Visible = true;
}
}