非同期ポストバックのトリガーを使用して更新パネルをセットアップしました。コードは次のとおりです。
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:updatePanel ID="tableUpdate" runat="server" updatemode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="CreateLinkToQuery" />
</Triggers>
<ContentTemplate>
<div>
<asp:Button ID="CreateLinkToQuery" CssClass="myButton" runat="server" Text="Create Link To Query" OnClick="CreateLinkToQuery_Click"/>
</div>
<div>
<asp:TextBox ID="QueryData" CssClass="popInnerContent" runat="server"/>
</div>
</ContentTemplate>
</asp:updatePanel>
コードビハインドは次のとおりです。
protected void CreateLinkToQuery_Click(object sender, EventArgs e)
{
QueryData.Text = "wwww.whateverlinkIfeelLike.com";
}
監視するコントロールを追加するとボタンがクリックされると、確かに新しいテキストで更新されますが、UI では何も起こらず、Firefox でコントロールをスパイすると空として表示されます。
ここでどこが間違っているのか理解できません。
この更新パネルは JQuery ダイアログ内にあることに注意してください。
そのために使用するコードは次のとおりです。
$('#CreateQuery').click(function (event) {
var dlg = $("#dialog").dialog({
width: 730,
minWidth: 730,
modal: true,
close: function (event, ui) {
$("#dialog").hide();
}
});
dlg.parent().appendTo(jQuery('form:first'));
});