2012-04-18 4 views
0

私はボタンがあります。ユーザーコントロールには、ページ内にgridviewが含まれています。親ページからボタンをクリックすると、usercontrolのgridviewが別のpageindexに変更されます。

ページ内のボタンをクリックし、そのユーザーコントロールのグリッドビューを特定のページインデックスに変更するにはどうすればよいですか?

+0

public void GotoPage(int index) { //side-note: you can call BindGrid(e.NewPageIndex) also from GridView's PageIndexChanging BindGrid(index); } 

BindGridとして実装することができますよう

GotoPageを実現することができます。その後、MyControl.GotoPage(111);でページから変更することができます。 –

+0

そうだと思います。ありがとう! – Meidi

答えて

1

あなたのUserControl(foe. GotoPage(int index))にパブリックメソッドを提供してください。その後、あなたのページからMyControl.GotoPage(111);で変更することができます。ユーザーコントロールでパブリックメソッド(f.e. `GotoPage(int型のインデックスを)`)提供

private void BindGrid(int newPageIndex) 
{ 
    // set it's DataSource 
    var pageIndex = newPageIndex < 0 || newPageIndex >= GridView1.PageCount ? 0 : newPageIndex; 
    GridView1.PageIndex = pageIndex; 
    // DataBind it 
} 
+0

私はこれらの2つの方法を組み合わせた:gotopageで、最初にグリッドビューのpageindexをパラメータのインデックスに設定し、再度グリッドビューをバインドします。 – Meidi

+1

@Meidi:もちろんそれも機能します。私は常に、カプセル化し、公開メソッドをできるだけ少なく提供しようとしています。それ以外の場合は、ユーザーコントロールとページをハードリンクする大きな危険があります。 –

関連する問題