我遇到的情况是我需要一个接一个地执行sql脚本。只有当前一个脚本的返回值为0时,才会执行下一个脚本。另外,我需要向ASP.NET页面提供脚本集合的状态,无论它是已完成,正在进行,已取消还是出错。我正在尝试使用PageAsyncTask和Threading完成此操作,但这些不会产生输出。欢迎任何建议。
编辑:
我使用sql表填充gridview,我在其中放置日志条目。 在gridview中处理条目的方式不同,因此我在gridview的RowDataBound事件中管理它们。每个链接按钮都有一个方法。
protected void gvProgress_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
#region CONTROL ASSIGNMENT
HtmlImage icon = (HtmlImage)e.Row.Cells[0].Controls[1];
Label scriptname = (Label)e.Row.Cells[0].Controls[3];
HiddenField status = (HiddenField)e.Row.Cells[0].Controls[5];
LinkButton details = (LinkButton)e.Row.Cells[4].Controls[1];
LinkButton pop = (LinkButton)e.Row.Cells[4].Controls[3];
LinkButton rerun = (LinkButton)e.Row.Cells[4].Controls[5];
LinkButton cancel = (LinkButton)e.Row.Cells[4].Controls[7];
LinkButton start = (LinkButton)e.Row.Cells[4].Controls[9];
#endregion
#region CONTROLS PREPARATION
switch (status.Value)
{
case "1": //Pending/Not Yet Started
icon.Src = "icons/pending.png";
details.Visible = false;
pop.Visible = false;
rerun.Visible = false;
cancel.Visible = false;
start.Visible = false;
break;
case "2": //In-Progress
icon.Src = "icons/on-going.gif";
details.Visible = false;
pop.Visible = false;
cancel.Visible = true;
rerun.Visible = false;
start.Visible = false;
break;
//did something similar for other statuses
}
}
}
答案 0 :(得分:0)
您是否考虑将所有这些作为交易执行?