0

Growl Message の close メソッドから asp.net グリッドビューを更新しようとしています。

jqueryコードは次のとおりです。

  $.gritter.add({
              title: 'Success',
              text: msg.d[0],
                                sticky: true,
                                after_close: function () {
                                    __doPostBack('UpdatePanel1', '');
                                }
                            });

グリッドビュー更新パネルは次のとおりです。

        <div class="module_content">

                    <asp:Label runat="server" ID="Label1" />
                    <asp:GridView ID="grd1">
        <Columns> 
            <asp:TemplateField>
                      <ItemTemplate>
                          <asp:Hyperlink href="#" id="getSessionID" class="view-details" runat="server">View details</asp:Hyperlink>
                      </ItemTemplate>
                  </asp:TemplateField>

             <asp:TemplateField HeaderText="Message Id">
                <ItemTemplate>
                    <%# Eval("SessionID") %>
                </ItemTemplate>
            </asp:TemplateField>           
            <asp:TemplateField HeaderText="Sender">
                <ItemTemplate>
                    <%# Eval("Sender") %>
                </ItemTemplate>
            </asp:TemplateField>                
            <asp:TemplateField HeaderText="Message Date">
                <ItemTemplate>
                   <asp:HyperLink CssClass="msgDateDate" ID="lnkMsgDateSummary" Text='<%#DateTime.Parse(Eval("MsgDate").ToString()).ToShortDateString()%>' runat="server" />
                </ItemTemplate>
            </asp:TemplateField>                
            <asp:TemplateField HeaderText="Message Type">
                <ItemTemplate>
                    <asp:HyperLink CssClass="msgDateType" ID="lnkMsgDateType" Text='<%# Eval("MsgType")%>' runat="server" />
                </ItemTemplate>
            </asp:TemplateField>                
            <asp:TemplateField HeaderText="Reference">
                <ItemTemplate>
                   <%# Eval("MsgRef")%>
                </ItemTemplate>
            </asp:TemplateField> 
            <asp:TemplateField HeaderText="Status">
                <ItemTemplate>
                   <%# Eval("Status")%>
                </ItemTemplate>
            </asp:TemplateField>                
        </Columns>
    </asp:GridView>
      </div>
                </ContentTemplate>
            </asp:UpdatePanel>         

gridview 内には、ダイアログを開くハイパーリンクがあり、ダイアログは webmethod を呼び出します。これにより、gridview のデータが変更されます。

Growl 通知を使用して、何かが変更されたことをエンド ユーザーに通知し、[OK] ボタンをクリックすると、after_close 関数が呼び出されます。

OnLoad=UpdatePanel1_Load をデバッグすると、すべての変更がバインドされていることがわかります。

ただし、 after_close メソッドが実行された後、私の GridView の合計は消えます。もはや DOM にはありません。

奇妙なことに、ラベルはそこにあります!

グリッドが消える理由を誰か教えてもらえますか?

*編集*

わかりましたので、EmptyDataText をグリッドビューに追加しました。ここで指定されたテキストが表示されます。したがって、bindmethod を呼び出しても、Gridview は空です!

4

2 に答える 2