1

htmltablecell.innerHTMLコードビハインドをオンに設定しようとしていPage_PreRenderます。

最初の設定で問題なく動作します。

今後、文字列から新しい値への参照を設定する必要があります (文字列値が変更されていることを確認しました) が、HTML 出力に古い値が表示され続けます。

をデバッグするhtmltablecell.innerHTMLと、値が変更されていることもわかります。

値がメソッドから設定される理由は、発火Page_PreRender後に文字列を更新するユーザー コントロールがあるためです。Page_load

4

1 に答える 1

2

アクセスされているコントロール (この場合は HtmlTableCell) が UpdatePanel の外部にあるときに、ポスト バックが非同期 (UpdatePanel 内のコントロールから起動) である場合、あなたが説明することが発生する可能性があります。

そうでない場合は無視してください。

編集

2 つのオプションがあります。

非同期ポストバックを開始して標準ポストバックを実行する UpdatePanel 内にコントロールをセットアップできます。これを行うには、UpdatePanel 内で PostBackTrigger を定義し、ControlID をポストバックを実行するコントロールの ID に設定します。

(これは完全なポストバックを実行するため、HtmlTableCell にアクセスして変更できるようになります)

<asp:UpdatePanel ... >
     ...
    <Triggers>
        <asp:PostBackTrigger ControlID="ControlIDToPostBack" />
    </Triggers>
</asp:UpdatePanel>

または、更新する HtmlTableCell (および親行、テーブルなど) を別の UpdatePanel に追加して、UpdatePanel の UpdateMode プロパティの両方を Always に設定することもできます。

これにより、両方の UpdatePanel コントロール内のコンテンツが、ページから発生したすべてのポストバックに対して更新されます。これには、非同期ポストバックが含まれます。

<asp:UpdatePanel ... UpdateMode="Always">

お役に立てれば。

于 2011-10-21T15:58:10.040 に答える