2016-06-13 6 views
0

私はDragulaというJSライブラリを使用しています。私はリピータを使用してコンテンツが作成されたリストの再利用を実装するためにそれを使用しようとしています。私の問題は、リストのアイテム(divs)を使用しても、リピータコントロールを使用してコードビハインド内の各リストアイテムの情報を取得した場合、リソーティングが発生していることを知りません。私はリピーターと同じ順序でリストアイテムの情報を返します。リピータを使用して生成された正確なhtmlコンテンツを取得します

リピーターを使用して生成され、リストの内容がそれぞれreapterを使用して生成されるhtmlタグのhtmlコンテンツを取得する方法はありますか同じように。コード内の私の状況の

例:

HTML:ブラウザ内

<asp:Repeater runat="server" ID="rpSearchResults"> 
     <ItemTemplate> 
      <section id="task-list" class="task-area_tasks-container taskorder-group"> 

       <asp:Repeater runat="server" ID="rpTaskGroup"> 
        <ItemTemplate> 

         <div id="task" class="task" runat="server"> 
          <span>some info needed retrieved in order</span> 
         </div> 

        </ItemTemplate> 
       </asp:Repeater> 

      </section> 
     </ItemTemplate> 
    </asp:Repeater> 

HTML(ソートされていない): You can tell the sorting of the list items by the second "ct##" part of the dynamically created id

あなたは秒単位でリスト項目のソートを伝えることができます"ct ##"動的に作成されたidの一部

インブラウザーHTML(ソート済み):

リスト項目の並べ替えは、動的に作成されたidの2番目の "ct ##"部分で分かります。あなたが気がついたら、彼らは今異なって分類されます。

問題は、コードビハインドメソッドをトリガーすると、元の順序(1番目のピクチャ)でリピータリストのそれぞれから情報を取得できますが、新しい順序(2番目のピクチャ)では取得できないということです。新しい注文を取得する方法はありますか?前もって感謝します!私は私が持っていた問題に回避策を考え出した

For Each search As RepeaterItem In rpSearchResults.Items 
      Dim rpTaskGroup As Repeater = search.FindControl("rpTaskGroup") 

      For Each task As RepeaterItem In rpTaskGroup.Items 
       TaskOrderID = task.FindControl("task_order_id") 
       arTOIDs.Add(Convert.ToInt32(TaskOrderID.InnerText)) 
      Next 
     Next 
+0

少し明白かもしれません。しかし、あなたがそれらにアクセスしようとしているときにこれらの要素が既にソートされていることを確かめていますか? (つまり、これをonDocumentReady-callbackで実行し、ソートが開始されると、コードが実行されたときにソートされていない可能性があります)。 メソッドを呼び出しているときとリストがソートされているときの例を挙げることはできますか? – Annihlator

+0

これは物事が起こる順序です:1)ページ読み込みと他のondocumentready関数が発生します。 2)リスト項目をドラッグして並べ替えます。 3)asp:linkbuttonをクリックして、コードビハインド関数をトリガしてリスト項目の情報を取得する –

+0

元の順序でインフォメーションを取得する理由は、リピータコントロールを使用して情報を取得しているためで、クライアント側で何が行われても、アイテムがリピータに接続されると、アイテムは静的になります。 –

答えて

0

:私は現在、リピーターアイテム情報を取得していますが、これが唯一の元の順序でそれを取得する方法これは

。それは世界で最も清潔ではありませんが、私の知る限りでは、私がこの場合にしようとしていることを行う唯一の方法です。

1)私は、その後に付着変数にdiv要素のすべての順序付けられた情報を記憶された正しい順序

2)にdiv要素の情報を取得することになるJavaScript関数をトリガする方法を作成しました後でコード内で取得するasp:HiddenField要素

3)javascript関数の最後に、コードビハインドのイベントハンドラをトリガーするasp:LinkBut​​ton要素をクリックします。このイベントハンドラでは、私はHiddenFieldから順序付けられた情報を取り出し、必要に応じて使用しました。

これは、自分と同じ問題を抱えている人に役立ちます。私が言ったように、それを行う最もクリーンでシンプルな方法ではないかもしれませんが、時間と数時間の検索の後で見つけることができる唯一の方法です。

関連する問題