1

ドロップダウンリストに動的にデータを入力するグリッドビューがあります。これらのドロップダウンリストにはデータベースからのデータが含まれているため、グリッドビューの列と行の数、およびドロップダウンコントロールの数は事前にわかりません。(動的ドロップダウン列を作成するためにITemplateを継承するItemTemplateクラスを使用しています)。

データを正しく表示できますが、グリッドビューの変更された値をデータベースに保存しようとすると問題が発生します。

グリッドビューの外側にボタンがあるので、ユーザーがそれをクリックすると、保存されているデータがデータベースで更新されます。しかし、ボタンクリックイベントでは、ポストバックやその他のコントロールイベントで動的コンテンツが失われるため、ドロップダウンリストの値にアクセスできません。

誰かが私をこれの解決策に向けることができますか?

前もって感謝します

4

2 に答える 2

0

ASP .NET ページのライフサイクルOnInitを調べると、 のイベントである動的コントロールを作成する必要があることがわかりますPreInit。そうしないと、Page_Loadなどで使用できなくなります。

于 2013-02-22T11:28:39.977 に答える
0

OnLoad がビューステートにヒットすると、すでにデータが入力されており、新しく作成されたコントロールがビューステートからのデータで更新されないため、OnInit イベントで動的コントロールを作成する必要があります。

viewstate に関する良い記事は次のとおりです。

http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx

于 2013-02-22T11:29:25.013 に答える