2016-09-14 58 views
0

我有一個asp.net更新面板,裏面有一些devexpress控件。JQuery Draggable在回發後停止在updatepanel中工作

<asp:UpdatePanel ID="upInsertPartNumber" runat="server"> 
    <ContentTemplate> 
     <div id="divSAFRReceivingPanel" style="width: 50%; position: fixed;">   
      <dx:ASPxFormLayout runat="server" ID="frmControlPanel" AlignItemCaptionsInAllGroups="True"> 
        ... textbox here 
        ... submit button here 
      </dx:ASPxFormLayout> 
     </div> 

還有一個div,我附加了jQuery可拖動的行爲。當它第一次加載時,它工作正常。但是,只要我提交表格,div就會被設置爲原來的位置並失去其可拖動性。

JQuery的:

$(function() { 
    ResetPanel(); 
}); 

function ResetPanel() { 
    $('#divSAFRReceivingPanel').draggable({ revert: 'false' });    
} 

理想情況下,我想有可拖動div來維持它的位置和形式已提交即使draggability。有關如何做到這一點的任何想法?謝謝!

+0

表單通過ajax調用提交? –

回答

1

嗯,這是因爲當你提高事件回傳ocurrs,並只有UpdatePanel的內容被刷新,所以,你的元素回發之前失去他們具備的功能。

你可以做的是:

  • 要跟蹤div的位置的回傳
  • 之前當回發ocurrs發送一些JavaScript從服務器端(C#)到客戶端(在瀏覽器),也許這樣

    ClientScript.RegisterStartupScript(this.GetType(), "ResetPanelWithPosition();", funcCall); 
    
  • 創建一個功能ResetPanelWithPosition()是重新裝上拖動行爲,並設置在第一步存儲的最後位置。