我想從一個咆哮消息的關閉方法更新我的asp.net gridview。__PostBack從咆哮消息
jQuery代碼是:
$.gritter.add({
title: 'Success',
text: msg.d[0],
sticky: true,
after_close: function() {
__doPostBack('UpdatePanel1', '');
}
});
GridView的更新面板:
<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通知來通知最終用戶某些內容已更改,並且單擊確定按鈕時會調用after_close函數。
當我調試在onload = UpdatePanel1_Load被調用,我可以看到,所有的改變都被綁定等
然而,在運行after_close方法後,我的GridView的總消失,它甚至不是在DOM了。
奇怪的是,雖然標籤在那裏!
誰能告訴我爲什麼我的網格消失?
* 編輯 *
好了,我已經添加了EmptyDataText到GridView,並在這裏指定的文本可見。所以,即使我的GridView的bindmethod調用是空的!