エクステンダーコントロールは、プレレンダーの後に登録されない場合があります。 gridview databind()で発生します

StackOverflow https://stackoverflow.com/questions/5397165

質問

ASP.NET 4.0 C#Webアプリでは、デバッグ中に件名で上記のエラーが発生します。

いくつかの検索結果が問題の原因である可能性があるため、私はページ上のダイナミックコントロールでファンキーなことを実際に行っていません。

ページには2があります ajax:CalendarExtenders しばらくの間正常に動作しています。

おそらくそれは関連していますが、私は実際にどれほどどれほど見ることができますが、これはエラーが発生したときに現在取り組んでいたものです。

AutoreFresh機能でイベントを提起するページにコントロールがあります。 [そのマップコントロール]。

私のページはそのイベントを購読し、そうすることでデータビンドは asp:GridView. 。グリッドとマップ制御が同期していることを確認するために、毎回グリッド内のデータをバインドする必要があります。 [その車両追跡ページ

エラーはDataBindコマンドで発生します。

同じエラーを思い付くためにのみエクステンダーを削除しました。

データビンドは簡単ですが、エラーは他の場所にあると確信しています。とにかく含めます。

this.SearchGrid.DataSource = resultsWithMetrics;

        this.SearchGrid.AllowPaging = true;
        this.SearchGrid.PageIndex = this.SearchGridPager.CurrentPage;
        this.SearchGrid.AllowPaging = this.SearchGridPager.PageSize > 0;
        this.SearchGrid.PageSize = this.SearchGridPager.PageSize > 0 ? this.SearchGridPager.PageSize : this.SearchGrid.PageSize;

        this.SearchGrid.DataBind();

たぶん、それは単に私をつまずかせたページのライフサイクルを理解していないかもしれません、とにかくいくつかの助けを喜んでいるでしょう。

役に立ちましたか?

解決

usercontrolまたはページコントロールで次のコードを使用します。 Ajaxコントロールを使用している場合に機能します。

protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        if (this.DesignMode == true)
        {
            this.EnsureChildControls();
        }
        this.Page.RegisterRequiresControlState(this);
    } 

他のヒント

問題は、行データビンドでエクステンダーコントロールが各行に追加され、これらのエクステンダーが問題を引き起こしたことでした。

The Rebindをトリガーしたイベントは、コールバックを使用してサーバーと通信し、その後、おそらくページライフサイクルで遅すぎるイベントを上げるユーザーコントロールから来ました。

何が起こっているのかを完全に理解せずに、すべてが少し危険にさらされており、アプリの構造を少し変更しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top