2013-07-26 197 views
0

我想从一个咆哮消息的关闭方法更新我的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调用是空的!

回答

0

问题是用户错误。我有一个案件的声明是加载网格数据的基础上选择一个下拉列表中的日期,然后下拉菜单是空的,因此我的代码执行预期,我没有数据显示你plonker :-)

0

在您的页面加载事件中,您需要在ispostback为true时执行检查,然后不要将页面加载到默认值,即网格视图的绑定。 希望这有助于。