質問

場合によっては、updatePanelsでラップされたネストされたmodalPopupsになります(理想的ではありません。おそらくリファクタリングする必要があります。ネストされたmodalPopupを開くポストバックを起動すると、代わりに親のmodalPopupを閉じます。引数のために、ブレークポイントを設定して実行する場合

((ModalPopupExtender)this.Parent.Parent.FindControl("modalPopupExtender'sID").Show();

子のmodalPopupのShow()メソッドが呼び出される直前に、当初の予想どおりに機能します。 updatePanelがネストされている場合、親であるmodalPopupが「わからない」をポストバックできるため、それは表示されているはずであり、パネルの可視性を最初からfalseとしてリロードします。子modalPopupは、可視性がfalseの親パネル内にネストされるため、Show()を呼び出しても効果はありません。したがって、別のmodalPopupを開くのではなく、現在のmodalPopupが閉じます。これはエラーではなく、予期しない動作であるため、どこにも例外をスローせずに追跡することは困難でしたが、上記の説明は理にかなっていると思います...問題を誤って理解した場合は、明確にしてください啓発してください、これは私が思うにいつも起こるわけではないからです!
この特定の状況のこの時点では、ネストされたupdatePanelsにならないようにこれらのコントロールの一部を書き直しているため、これは発生しませんが、私は興味があります:
以前に誰かがこの問題に遭遇したことがありますか?また、問題のmodalPopupを再表示するFindControl()への呼び出しを伴わない巧妙な回避策を思い付きましたか?

役に立ちましたか?

解決

この問題を解決しました!
UpdatePanelのUpdateModeを" Conditional"に変更すると、子UpdatePanelがポストバックするときに親UpdatePanelはポストバックせず、それらをネストすることはまったく問題ありません!
UpdateMode =" Always"の理由がわかりません。デフォルトですが、学んだ教訓。

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