2012-07-11 60 views
2

以下是我的GridView的寻呼机如何在Gridview寻呼机中将NextPageText/NextPageUrl从“...”更改为“Next”?

<PagerSettings Mode="NumericFirstLast" PageButtonCount="3" 
    FirstPageImageUrl="~/images/First.jpg" 
    LastPageImageUrl="~/images/Last.jpg" 
    NextPageImageUrl="~/images/Next.jpg" 
    PreviousPageImageUrl="~/images/Prev.jpg" /> 

标记然而,当我运行它,我得到默认的“...”作为链接按钮导航到下一个和前几页。第一个和最后一个按钮导航链接按钮正确显示为图像。

有人能告诉我什么是错的吗?

编辑1

我得到NextPageText相同的结果,以及

+1

你为什么不使用['NextPageText'(http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.pagersettings.nextpagetext.aspx) ? – balexandre 2012-07-11 09:07:14

+0

谢谢你提醒我;我忘了提及我也试过,但我得到了同样的结果。 – 2012-07-11 09:14:27

+1

是否有可能在代码中设置“...”?这可能会导致'NextPageText ='Next''被覆盖。 – nunespascal 2012-07-11 09:19:02

回答

2

我也得到了同样的问题,我用这个代码解决:

Protected Sub grdPatsCliente_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles grdPatsCliente.RowCreated 
    If e.Row.RowType = DataControlRowType.Pager Then 
     Dim i As Integer = 0 
     For Each ctl As Control In e.Row.Cells(0).Controls(0).Controls(0).Controls 
      i += 1 
      If ctl.Controls(0).GetType.ToString = "System.Web.UI.WebControls.DataControlPagerLinkButton" Then 
       Dim lnk As LinkButton = CType(ctl.Controls(0), LinkButton) 
       If lnk.Text = "..." Then 
        If i < 3 Then 
         lnk.Text = "Prev" 
        Else 
         lnk.Text = "Next" 
        End If 
       End If 
      End If 
      Dim x As String = ctl.ClientID 
     Next 
    End If 
End Sub 

默认的GridView寻呼机总是在next和prev链接上渲染“...”。有了这个代码,我取代的 “...” 我的文本(也可以使用HTML像 “< I类= '发FA-LG FA-角度左' > < /李>” 如果你使用FontsAwesome

代码C#:

protected void grdPatsCliente_RowCreated(object sender, GridViewRowEventArgs e) { 
    if (e.Row.RowType == DataControlRowType.Pager) { 
     int i = 0; 
     foreach (Control ctl in e.Row.Cells[0].Controls[0].Controls[0].Controls) { 
      i++; 
      if (ctl.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.DataControlPagerLinkButton") { 
       LinkButton lnk = (LinkButton)ctl.Controls[0]; 
       if (lnk.Text == "...") { 
        if (i < 3) { 
         lnk.Text = "Prev"; 
        } else { 
         lnk.Text = "Next"; 
        } 
       } 
      } 
     } 
    } 
} 
+0

这是在VB.net中的答案?你可以发布c#解决方案吗? – 2017-02-08 11:05:11

+0

@mandeepjain我编辑我的答案添加C#代码。 – TonioGago 2017-02-12 15:24:53

+0

谢谢@TonioGago – 2017-02-13 05:40:55