я получаю эту ошибкуНе удалось загрузить дерево управления viewstate.The, в который ViewState загружается должен соответствовать дерево CNTRL, который был использован для сохранения ViewState во
«Не удалось загрузить ViewState. Контроль дерева в который является загружаемым , должен совпадать с деревом управления, которое использовалось для сохранения во время предыдущего запроса . Например, при добавлении элементы управления, добавленные во время обратной связи, должны соответствовать типу и положению элементов управления добавляется во время первоначального запроса . "
, когда я пытаюсь отправить страницу, где я применил некоторую логику для строки привязки GridView, чтобы изменить RowSpan. При комментировании этого события ошибок нет.
вот код:
int firstRow;
string previousCat;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var drv = e.Row.DataItem as QCParameters;
if (previousCat == drv.AuditTypeValue)
{
//If it's the same category as the previous one
//Increment the rowspan
if (GridView1.Rows[firstRow].Cells[0].RowSpan == 0)
{
GridView1.Rows[firstRow].Cells[0].RowSpan = 2;
GridView1.Rows[firstRow].Cells[5].RowSpan = 2;
}
else
{
GridView1.Rows[firstRow].Cells[0].RowSpan += 1;
GridView1.Rows[firstRow].Cells[5].RowSpan += 1;
}
//Remove the cell
if (e.Row.Cells.Count > 5)
e.Row.Cells.RemoveAt(5);
e.Row.Cells.RemoveAt(0);
}
else //It's a new category
{
e.Row.VerticalAlign = VerticalAlign.Top;
//Maintain the category in memory
previousCat = drv.AuditTypeValue;
firstRow = e.Row.RowIndex;
}
}
}
Спасибо за ваш ответ .. e.Row.Cells [5] .Visible = false; работал лучше для меня. –
@BhaweshPaliwal Совершенно верно. Это то, о чем я думал. – Magnus