2012-02-29 14 views
1

Asp.net Gridviewでプログラマティックにページングを作成しています。エラーが発生します。「Microsoft JScriptランタイムエラー: 'grdAssetList_PageIndexChanged'が未定義です。私はまだ理解していない。私を助けてください。Asp.net Gridviewでプログラム的にページングエラーが発生する

グリッドのAllowPaging =真とOnPageIndexChanging = "grdAssetList_PageIndexChanged" に
if (ds.Tables[0].Rows.Count != 0) 
    { 
     setPages(); 
     int startRow = ((pageNumber - 1) * pageSize) + 1; 
     int endRow = startRow + pageSize - 1; 
     if (endRow > rowCount) endRow = rowCount; 
     lblNowShowing.Text = startRow.ToString("###,##0") + " to " + endRow.ToString("###,##0") + " of " + rowCount.ToString("###,##0"); 
    lblPageNum.Text = "Page " + txtCurrentPageIndex.Value + " of " + pageCount.ToString(); 
    } 


protected void setPages(){   
    int pageCount = Convert.ToInt16(txtPageCount.Value); 
    int currentPageIndex = Convert.ToInt16(txtCurrentPageIndex.Value); 
    int startPageNum = 1; 
    startPageNum = currentPageIndex - 3; 
    if (startPageNum < 1) startPageNum = 1; 
    int endPageNum = startPageNum + 10; 
    if (endPageNum > pageCount) endPageNum = pageCount; 
    PlaceHolder place = PlaceHolder1; 
    place.Controls.Clear(); 
    for (int i = startPageNum; i <= endPageNum; i++) 
     { 
     if (i == currentPageIndex){ 
      Label lblPage = new Label(); 
      lblPage.Text = currentPageIndex.ToString(); 
      place.Controls.Add(lblPage); 
      } 
     else{ 
      HtmlAnchor btn = new HtmlAnchor(); 
     **btn.Attributes.Add("onclick", "grdAssetList_PageIndexChanged(" + i.ToString() + ")");** // Here i am getting error 
      btn.InnerText = i.ToString(); 
      btn.Title = "Page " + i.ToString(); 
      btn.HRef = "#"; 
      place.Controls.Add(btn); 
     } 
      Label lbl = new Label(); 
      lbl.Text = " "; 
      place.Controls.Add(lbl); } 
} 

+0

としての機能を記述し、それがきれいにフォーマットされていないので、(コンパイルすらしないこと)あなたの質問を手直ししてください。 –

+0

こんにちはTim私のコードを修正しました – Indra

答えて

0

あなたのコードは、クライアント側の機能を期待します。サーバー側ではありません。

セットのAllowPaging = falseを

は、LinkBut​​tonコントロール(ANCHORない)

変更としてあなたは以下のように主演したコード行をBTN定義します。

btn.ID= "btn" + i.ToString(); 
btn.Click += btn_Click; 

private void btn_Click(object sender, EventArgs e) 
    { 
     int pageno = int.Parse(((LinkButton)sender).ID.Replace("btn","")); 
     LoadData(((pageno - 1) * gvPosts.PageSize) + 1, gvPosts.PageSize); 
    } 
関連する問題