stackoverflow.com/questions/53438582/...

я есть несколько gridviews каждый внутри своих UpdatePanels. У меня есть кнопки, которые фильтруют данные, но иногда замечают необычные обновления и удаления, которые я не могу определить источник. Одна вещь, которую я выделил, заключается в том, что это происходит, когда я сортирую данные сетки в одной UpdatePanel, а затем пытаюсь обновить другую UpdatePanel.

(Все мои представления сетки получают свои данные из одной и той же процедуры DataLoad, которая заполняет каждое представление сетки на основе разных запросов Linq.)

Я разрешил большинство необычных обновлений, вызвав .Update () на всех UpdatePanels после моей функции сортировки, чтобы все «сеточные представления» были «обновлены». Но затем все еще есть некоторые случаи, когда данные обновляются, и я не могу изолировать источник.

Похоже, что данные вне одной UpdatePanel на самом деле обновляются «за кулисами», и на экране отображаются только кэшированные данные, а затем, когда я редактирую то, что на экране, обновляются неправильные данные, потому что они не были обновлены.

Я предполагаю, что моя стратегия сортировки неверна, так как я сортирую все виды сетки вместо только этого конкретного вида сетки, когда пользователь щелкает заголовок столбца.

Вот моя процедура сортировки, которая вызывается каждым видом сетки:

protected void TaskGridView_Sorting(object sender, GridViewSortEventArgs e)
{               
    string sortExp = ViewState["SortExpression"] as string;     
    string sortDir = ViewState["SortDirection"] as string;
    if(sortDir == "asc" & sortExp == e.SortExpression.ToString())
        ViewState["SortDirection"] = "desc";
    else
        ViewState["SortDirection"] = "asc";
    ViewState["SortExpression"] = e.SortExpression.ToString();

    if(searchCol != "" && searchText != "")
        DataGrid_Load(DAL.Search_reg_log(OrgText.Text, searchText, searchCol), "reg");
    else
        DataGrid_Load(DAL.reg_log(HeadText.Text, OrgText.Text), "reg");     

    UpdatePanels();

}

Я новичок в использовании Ajax и UpdatePanels и хотел бы получить какие-либо указания по разрешению этой ситуации.

Ответы на вопрос(2)

Ваш ответ на вопрос