LinkButton を保持する TemplateField を持つ GridView があります。このボタンをクリックすると、別の非表示の TemplateField にある XML が文字列に変換され、モーダル ダイアログで使用される非表示の div のラベルに割り当てられます。現在、ダイアログは適切な情報で期待どおりに開き、閉じて、問題なく表示するグリッド内の別のレコードを選択できます。これは問題が発生する場所であり、解決策を見つけることができませんでした。ポストバックを引き起こすページで何か他のことをすると、最後に開かれたダイアログボックスが新しいページの読み込みで開きます。
これが私の関連するマークアップです:
<script type="text/javascript">
$(document).ready(function() {
$("#txtBeginDate").datepicker();
$("#txtEndDate").datepicker();
$("#response").dialog({
autoOpen: false,
modal: true,
height: "auto",
width: "auto",
title: "Equifax Response",
close: function(ev, ui) {
$(this).dialog('destroy').remove();
}
});
$("[id*=lnkEquifaxResponse]").on("click", function EquifaxResopnse() {
$("#lblDialog").empty();
});
if ($("#lblDialog").text() != "") {
$("#response").dialog("open");
}
});
</script>
<div id="response" visible="false">
<asp:Label ID="lblDialog" runat="server" ></asp:Label>
</div>
<div id="Gridview">
<asp:GridView ID="grClientTransactions" runat="server" AllowPaging="True"
PageSize="25" AutoGenerateColumns="False" DataKeyNames="ResponseXML"
EmptyDataText="Record not found." EmptyDataRowStyle-BackColor="#CCCCCC" EmptyDataRowStyle-Font-Bold="true"
CssClass="mGrid" PagerStyle-CssClass="pgr"
AlternatingRowStyle-CssClass="alt"
OnPageIndexChanging="grClientTransactions_PageIndexChanging"
onrowcommand="grClientTransactions_RowCommand">
<Columns>
<asp:TemplateField ShowHeader="false">
<ItemTemplate>
<asp:LinkButton ID="lnkEquifaxResponse" runat="server" CommandName="EquifaxResponse" Text="View" CommandArgument='<%# DataBinder.Eval(Container, "RowIndex") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false" HeaderText="Equifax Response">
<ItemTemplate>
<asp:Label ID="lblEquifaxResponse" runat="server" Text='<%# Bind("ResponseXML")%>' ></asp:Label></div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle CssClass="pgr" />
<AlternatingRowStyle CssClass="alt" />
</asp:GridView>
</div>
私はプログラミングが初めてなので、どんな助けでも大歓迎です。