В настоящее время я работаю с Asp.Net WebForms и для отображения данных я использую GridViews (много GridView), все они работают, моя проблема в том, что я повторяю одни и те же методы "OnSorting" и "OnPageIndexChanging" для каждого GridView iсоздать, буквально просто скопировать и вставить, изменяя имя GridView и вызов метода DataBind.
Вот мои методы
protected void GridView_Sorting(object sender, GridViewSortEventArgs e)
{
try
{
string currentSortExpression = GridView.Attributes["CurrentSortExpression"];
string currentSortDir = GridView.Attributes["CurrentSortDir"];
SortDirection sortDirection = SortDirection.Ascending;
string sortExpression = e.SortExpression;
if (sortExpression == currentSortExpression)
{
if (currentSortDir == "DESC")
sortDirection = SortDirection.Ascending;
else
sortDirection = SortDirection.Descending;
}
GridView.Attributes["CurrentSortExpression"] = sortExpression;
GridView.Attributes["CurrentSortDir"] = (sortDirection == SortDirection.Ascending ? "ASC" : "DESC");
GridViewDataBind();
}
catch (Exception ex)
{
Alert.ShowDefaultError(Page, ex.Message);
}
}
protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
GridView.PageIndex = e.NewPageIndex;
GridViewDataBind(false, true);
}
catch (Exception ex)
{
Alert.ShowDefaultError(Page, ex.Message);
}
}
Единственными изменениями между GridView являются имя GridView и последний вызов метода "GridViewDataBind ()"
Есть ли лучшеспособ сделать это?