asp.Netカスタムコントロール再送データ実装方案とコード
985 ワード
aspを実現する.Netのカスタムコントロールでは、データの再送またはpostデータを実現するには、カスタムコントロールがIPostBackDataHandlerインタフェースを実現する必要があります.このインタフェースには、LoadPostDataとRaisePostDataChangedEventの2つの方法があります.1つ目のメソッドは、データの再送時にカスタムコントロールの関連プロパティを入力するために使用され、2つ目のメソッドは、コントロール関連イベントを励起するために使用されます.すなわち,この2つの方法は,データをコミットする際に呼び出されるべきである.
しかし,我々は独自のコントロールを実現する際には,IPostBackDataHandlerを継承しているが,データをコミットする際には,プログラムがIPostBackDataHandlerのメソッドを呼び出していないことを確認している.データの再送を実現するには,IPostBackDataHandlerインタフェースの実装に加えて,再送数を必要とするコントロールに登録する必要があることが分かった.登録を実現するには、カスタムコントロールにOnPrenderメソッドを書き換え、そのメソッドでPageを呼び出す.RegisterRequiresPostBack(this);このコード.書き方は以下の通りです.
以上のコードを実装することで,データのコミット時にIPostBackDataHandlerインタフェースのメソッドが発見され,呼び出される.次に、どうすればいいか、分かりますよ.
しかし,我々は独自のコントロールを実現する際には,IPostBackDataHandlerを継承しているが,データをコミットする際には,プログラムがIPostBackDataHandlerのメソッドを呼び出していないことを確認している.データの再送を実現するには,IPostBackDataHandlerインタフェースの実装に加えて,再送数を必要とするコントロールに登録する必要があることが分かった.登録を実現するには、カスタムコントロールにOnPrenderメソッドを書き換え、そのメソッドでPageを呼び出す.RegisterRequiresPostBack(this);このコード.書き方は以下の通りです.
public class MyControl : WebControl, IPostBackDataHandler{
protected override void OnPreRender(EventArgs e)
{
Page.RegisterRequiresPostBack(this);
base.OnPreRender(e);
}
}
以上のコードを実装することで,データのコミット時にIPostBackDataHandlerインタフェースのメソッドが発見され,呼び出される.次に、どうすればいいか、分かりますよ.