Я хочу показать стрелку вверх / вниз на заголовке моего вида сетки сортировки. Я реализовал это в коде, прикрепленном ниже, но в событии, связанном с данными строки, sortexpression оказывается пустым. Из-за этого я не могу установить изображение для направления сортировки.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
CssClass="gridview_alter" GridLines="Both"
Caption="Submissions today" CaptionAlign="Top"
AllowSorting="true"
AllowPaging="true" PageSize="10" OnPageIndexChanging="GridView1_PageIndexChanging"
OnRowCommand="GridView1_RowCommand" OnRowDataBound="GridView1_RowDataBound"
OnSorting="GridView1_Sorting">
<Columns>
<asp:BoundField DataField="student_name" HeaderText="student_name"
ReadOnly="True" SortExpression="student_name"> </asp:BoundField>
<asp:BoundField DataField="Role" HeaderText="Role"
ReadOnly="True" SortExpression="Role"> </asp:BoundField>
</Columns>
</asp:GridView>
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
string imgAsc = @" <img src='~/images/up.png' border='1' title='Ascending' 'width='50' height='50' />";
string imgDes = @" <img src='~/images/dwn.png' border='1' title='Descendng' 'width='50' height='50' />";
if (e.Row.RowType == DataControlRowType.Header)
{
foreach (TableCell td in e.Row.Cells)
{
LinkButton lnkbtn = (LinkButton)td.Controls[0];
if (lnkbtn.Text == GridView1.SortExpression)//sortexpression is grtting empty here
{
if (GridView1.SortDirection == SortDirection.Ascending)
{
lnkbtn.Text += imgAsc;
}
else
lnkbtn.Text += imgDes;
}
}
}