如何将图像添加到MVC3网格的标题 - @ grid.GetHtml?

时间:2012-03-09 23:51:25

标签: c# .net asp.net-mvc-3 asp.net-mvc

我只想将一些图像添加到MVC3网格标题以点击它并对行进行排序,因为它适用于普通标题文本。

我怎么做?

谢谢!

 @grid.GetHtml(
                            tableStyle: "grid",
                            headerStyle: "head",
                            alternatingRowStyle: "alt",
                            rowStyle: "row",
                            selectedRowStyle: "selected-row",
                            columns: grid.Columns(

                                           grid.Column("SportName", "Sport", style: "column"),
                                           grid.Column("City", "City", style: "column"),

1 个答案:

答案 0 :(得分:1)

根据您在评论中的要求,以下是您问题的答案。

由于您正在寻找升序和降序排序的箭头,因此可以在此4guysfromrolla tutorial找到该信息。

关键部分可以覆盖排序时发生的事情。

public class GridView : System.Web.UI.WebControls.GridView
{
   protected override void OnSorted(EventArgs e)
   {
      string imgArrowUp = ...;
      string imgArrowDown = ...;

      foreach (DataControlField field in this.Columns)
      {
         // strip off the old ascending/descending icon
         int iconPosition = field.HeaderText.IndexOf(@" <img border=""0"" src=""");
         if (iconPosition > 0)
            field.HeaderText = field.HeaderText.Substring(0, iconPosition);

         // See where to add the sort ascending/descending icon
         if (field.SortExpression == this.SortExpression)
         {
            if (this.SortDirection == SortDirection.Ascending)
               field.HeaderText += imgArrowUp;
            else
               field.HeaderText += imgArrowDown;
         }
      }

      base.OnSorted(e);
   }
}