Я нахожусь в ситуации, когда мне нужно выполнить SQL-скрипт один за другим. Следующий сценарий будет выполняться только в том случае, если возвращаемое значение предыдущего сценария равно 0. Кроме того, мне нужно заполнить свою страницу ASP.NET состояниями коллекции сценариев, независимо от того, завершена она, выполняется, отменена или произошла ошибка. Я пытаюсь сделать это с PageAsyncTask и Threading, но они не выдают результат. Любая рекомендация приветствуется.
Edit:
Я заполняю gridview таблицей sql, в которую я помещаю записи журнала.
Записи в gridview обрабатываются по-разному, поэтому я управляю ими в событии RowDataBound сетки. Каждая кнопка ссылки обслуживает метод.
protected void gvProgress_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
#region CONTROL ASSIGNMENT</p>
<code> 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
}
}
}
</code>