私は構造体であるユーザーコントロールを持っている -更新パネルとJavaScript
<updatepanel UpdateMode="Always">
<ContentTemplate>
<asp:FormView>
<EditItemTemplate>
<table>
<tr id='tr1'>
<td>
Textbox1
btn1
</td>
</tr>
<tr id='tr2'>
<td>
textbox2
</td>
</tr>
<table>
</EditItemTemplate>
</asp:FormView>
</ContentTemplate>
</updatepanel>
、ページの読み込みで、私はTR2
ClientScriptManager cs = Page.ClientScript;
csText.AppendLine("");
csText.AppendLine("if(document.getElementById('tr2')!=null)
document.getElementById('tr2').style.display = 'none';");
csText.AppendLine("");
cs.RegisterStartupScript(this, this.GetType(), csName, csText.ToString(), false);
この部分は正常に動作して非表示にするには、以下を使用します。今すぐbtn1をクリックすると、私はモーダルポップアップエクステンションコントロールをポップアップしています。これによりtr2が再び表示されます。私はスクリプトがupdatePanelとインラインである必要があることを知っています。私はScriptManager.RegisterStartupScript(....);
を使ってみましたが動作しません。また、updateModeは、常にポップエクステンションからのデータをTextbox1に入れることができるようにする必要があります。
すべての助けに感謝します。 ありがとうございました
これは私の最初の解決策でした。この問題は、データが行(tr2)内のコントロールに入力されていて、正しくバインドされていません。つまり、データはポストバック後に受信されません。一番外側のupdatepanel.Onclickのうち、データを取得するためにカスタムイベントを実行しています –