2017-11-20 5 views
0

に変更すると、これは過去数日間わたしを悩ませています。私はbsモーダルダイアログを開き、data-id属性を通して値を渡しています。問題なく値を渡すことができます。私は隠しフィールド/ divにそれを格納することもできます。しかし、私はdbからレコードセットの残りの部分を戻すカミソリ関数にその値を渡す必要があり、レコードを取得するためにjsonを使用していません。私は値を変換することができますが、私はそれを保存した隠しフィールドから値を取得するために私のフォームを提出する必要があります。私はいつも別のページに投稿することができますが、それはモーダルを使用する目的を破るだろう。私の質問は2つのオブジェクトが異なる州(サーバー/クライアント)に住んでいるからです。どのようにしてIDでキャプチャされるのですか?この例では、値をdivとhidden値に渡しています。私はフォームを提出した後でさえ、隠された価値を捉えることができます!ありがとう。JavaScriptの値をBS Modalに変更してから、値をC#変数

<button class="btn btn-info btn-lg open_mymodal" id="cafeID" data-id="@item.ID" data-toggle="modal" data-target="#myModal" data-yourparameter="@item.ID">Load</button> 

    <div id="myModal" class="modal fade" role="dialog"> 
     <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">Modal Header</h4> 
       </div> 
       <div class="modal-body"> 
        <script type="text/javascript"> 

        </script> 


        @{ 
         <div id="getIco"> 

         </div> 
        } 

        <form action="~/modals.cshtml" name="test" method="post"> 

         <input type="hidden" class="form-control" id="IDRec" name="IDRec" /> 

         <input type="text" class="form-control" id="getIco" name="getIco" value="" /> 
         <input type="submit" name="name" value="submit" /> 
        </form> 

      @{ 
        var recordID = request["IDRec"]; 
        @recordID 
      } 

       </div> 
       <div class="modal-footer"> 
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
       </div> 
      </div> 

     </div> 
    </div> 




$(document).ready(function() { 
    $('#myModal').on('show.bs.modal', function (event) { 
     var button = $(event.relatedTarget); 
     var getmyID = button.data('id'); 
     var modal = $(this); 
     modal.find('.modal-title').text('Here is the ID: ' + getmyID); 
     modal.find('.modal-body #IDRec').val(getmyID); 
     modal.find('.modal-body #getIco').val(getmyID); 

    }); 
}); 
+0

この時点で、私はこの全体の部分をリファクタリングすることができるまで、任意の回避策で十分です。 – d384

+0

私は、そのレコードの編集/更新のために、モーダルを起動し、そのIDの残りのデータをモーダル内で取得したいと考えています。 – d384

答えて

0

私はかなり効き目がありませんが、機能するでしょう。 uug ...このプロジェクトではあまりにも頑張っています!

申し訳ありませんが、私は誰も混乱させました。基本的には私のデータセットをモーダルに取り込もうとしていて、私が望むデータをC#関数を通して呼び出すことになりました。問題は、私はIDをキャプチャしていたが、レコードセットの残りの部分を取得し、モーダルで編集するために表示するためにそのidを使用しようとしていたが、IDはjavascriptであった。

javascriptでidを渡すのではなく、私のC#コード内でモーダルをラップしてIDを使用することができます...しかし、レコードセットがループしているので、クライアント側ではhtmlが複数のインスタンスすべてのレコードの適切なデータと共に生成されたIDを持ちます。 Id 'は私のループ中にモーダルの複数のインスタンスを作成する必要がないより良いオプションのようです。最終的には、私はモーダルを開いてそのようにロードすると、ajaxを使用するか、別のページからレコードセットを呼び出す必要があります。人々がより良い方法を持っている場合は、質問を開いたままにしてください。

関連する問題