2009-06-08 14 views
0

更新パネルに着陸すると、ページに編集ボタンがあります。ユーザーが編集ボタンをクリックすると、発生したイベントによってコンテナからこのボタンが削除され、(更新パネル内の)保存ボタンが追加されます。この関数は、新しいボタンにイベントを添付します。ポストバック後のコードビハインドによって更新パネルに追加されたアイテムのイベントは発生しません。

新しいボタンがページに表示されますが、クリックするとイベントは発生しません。明らかにイベントは登録されません。これをアップデートパネルで行うようにするトリックがあるかもしれませんが、私はそれを理解できませんでした。誰かが答えを知っていますか?

事前のおかげで...

答えて

2

あなたが動的にコントロールを追加すると、あなたはイベントが解雇されることはありませんすべてのポストバック、他の方法でそれらを再生成する必要があります。

page_initイベントのコントロールを再生成する必要があります。

私はこのようにそれを行います。

i)がコントロールを生成するために、「generateControl」関数を記述します。

II)あなたはそれを生成し、フラグを設定したい場合にフラグがtrueの場合page_initチェックに)

III)をtrueにパブリック変数(この関数を呼び出すと、それが「generateControl」関数を呼び出します。

+0

さて、最初に追加するとどうしたらいいですか?原因ボタンを作成するイベントが発生する前に、page_initが発生します。ありがとう! – eakkas

+0

私はpage_initが最初にページが作成されたときだけ起動し、ポストバックでは無視されると思っていましたが、それは当てはまりません。 私はあなたの提案を試みますが、それでも1つのことと混同します。 iiをボタンに付けると、そのイベントはポストバック中にpage_initの後で起動されないので、フラグは単に無視されますか? – eakkas

+0

page_init(つまり、_clickハンドラ中)の後にコントロールを追加するのに問題はありませんが、ポストバックを受け取るためにボタンを先に生成する必要があります。 –

2

ページ上に追加ボタンと保存ボタンの両方を指定できない理由はありますか?保存ボタンのVisibleプロパティは、追加時以外はfalseに設定されていますか?そうすれば、非常に穏やかなコストでViewStateを利用できるようになります(つまり、ボタンによってページ間の読み込みが維持されます)。

+0

それは私が現在実装している解決策ですが、何とか正しいとは言えませんでしたので、より洗練されたソリューションを探していました...入力していただきありがとうございます... – eakkas

+0

私はこのソリューションが動的にコントロールを作成するよりも好きです。シンプルさのルール! – tekBlues