2016-01-03 65 views
1

我會更好地解釋我的問題,我會做很多的修改,以澄清:更新一個UpdatePanel按鈕單擊事件後

標記

<asp:ScriptManager runat="server" /> 

<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal">&times;</button> 
       <h4 class="modal-title" > 

       </h4> 
      </div> 
      <div class="modal-body"> 

      </div> 
      <div class="modal-footer"> 
       <asp:Button runat="server" Text="Chiudi" class="btn btn-danger" data-dismiss="modal" /> 
       <asp:Button runat="server" ID="btn_Save" Text="Salva" class="btn btn-success" ValidationGroup="valGroup2" /> 
      </div> 
     </div> 
    </div> 
</div> 

<asp:Button ID="Button1" runat="server" Text="Button" data-target="#myModal" class="btn btn-primary" data-toggle="modal"/> 



<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false" > 
    <ContentTemplate> 
     <asp:GridView ID="grd_elenco" runat="server" CssClass="table table-bordered table-hover" data-toggle="modal"> 

     </asp:GridView> 
     <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate> 
    <Triggers> 

    </Triggers> 
</asp:UpdatePanel> 

VB.NET:

Private Sub btn_Save_Click(sender As Object, e As EventArgs) Handles btn_Save.Click 
    Label1.Text = "test" 
    UpdateSomeDataInGrid() 

    UpdatePanel1.Update() 
End Sub 

我只更新UpdatePanelbtn_Save與部分回發,而不是全回發。我需要更新面板UpdateSomeDataInGrid(),有人知道該怎麼做?

我試着添加UpdatePanel1.Update(),但所有頁面都是回發。

+0

用更全面的標記編輯你的問題。我們需要看看Button1在哪裏。 –

+0

@RegEdit done ... –

+0

通過您發佈的標記,Button1會導致完整的頁面回傳,因此即使您的Button1事件處理程序中沒有任何代碼,也會更新UpdatePanel1。另外,由於UpdatePanel1沒有內容,所以你如何確定它沒有得到更新?請參閱[我們關於創建最小,完整和可驗證示例的指導](http://stackoverflow.com/help/mcve)。 –

回答

0

原因是btnSave不在UpdatePanel內。就目前而言,這意味着它總是會導致整頁回發。

要使用UpdatePanel實現部分頁面回發,請將回發控件放置在UpdatePanel中。

所以你需要移動btnSave的UpdatePanel內:或者

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> 
    <ContentTemplate> 
     <asp:Button runat="server" ID="btn_Save" Text="Salva" class="btn btn-success" ValidationGroup="valGroup2" /> 
     . 
     . 
     . 

,如果它適合你的設計更好,將包含UpdatePanel內btnSave整個DIV:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> 
    <ContentTemplate> 
     <div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true"> 
     . 
     . 
     . 

或地方btn保存在它自己的UpdatePanel中。這將避免整頁回發,而您的處理程序仍然可以更新UpdatePanel1。

+0

如果我把按鈕放在更新面板中,它不在模式框中。那麼,如果它已經在更新面板中,我該如何在模式框中使用它? –

+0

@PietroZ。我已經用2條建議更新了我的答案。 –

+0

對我的具體情況做了一些調整,這工作。謝謝 –

相關問題