2016-09-14 13 views
0

私はasp.netのupdatepanelを持っていて、その中にいくつかの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> 

jqueryのドラッグ可能な動作を添付したdivもあります。それが最初に読み込まれるとき、それはうまく動作します。私がフォームを提出するとすぐに、divは元の位置に設定され、そのdraggabilityを失う。

はJQuery:

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

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

理想的には、私は、フォームが送信された後であっても、その位置とdraggabilityを維持するために、ドラッグ可能なdiv要素を持っていると思います。どのようにこれを行うにはどのような考え?ありがとう!

+0

フォームはajaxコールで送信していますか? –

答えて

1

さて、あなたはイベントポストバックocurrsにを上げるときので、それはだ、とのUpdatePanel内コンテンツのみがリフレッシュされるので、あなたの要素彼らはポストバックの前に持って機能を失います。

何ができることは次のとおりです。

  • ポストバックocurrsは、クライアント側にサーバ側(C#の)から、いくつかのJavaScriptを送信すると、ポストバック
  • 前のdivの位置を追跡するために(ブラウザ)、多分これ

    ClientScript.RegisterStartupScript(this.GetType(), "ResetPanelWithPosition();", funcCall); 
    
  • のようにドラッグ可能な行動を再び取り付けて、あなたが最初のステップで保存し、最後の位置を設定する機能ResetPanelWithPosition()を作成します。
関連する問題