2017-11-20 5 views
0

으로 사용하면 지난 며칠 동안 나를 괴롭 히고 그냥 지나친 생각이 들었다고 생각합니다. bs 모달 대화 상자를 열어서 data-id 특성을 통해 값을 전달합니다. 문제없이 값을 전달할 수 있습니다. 나도 숨겨진 필드/div에 저장할 수 있습니다. 그러나 db에서 내 레코드 집합의 나머지 부분을 가져 오는 면도기 기능에이 값을 전달해야하며 json을 사용하여 레코드를 검색하지 않습니다. 값을 변환 할 수는 있지만 먼저 저장 한 숨겨진 필드에서 값을 가져 오기 위해 양식을 제출해야합니다. 항상 다른 페이지에 게시 할 수 있지만 모달을 사용하는 목적을 무효화합니다. 내 질문은 두 개체가 다른 상태 (서버/클라이언트)에 살고 있기 때문에 모달이 ID로 처음 시작될 때 어떻게 ID를 캡처 할 수 있습니까? 이 예제에서는 값을 div와 숨겨진 값으로 전달합니다. 양식을 제출 한 후에 만 ​​숨겨진 가치를 포착 할 수 있습니다! 감사.자바 스크립트 값을 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를 사용하여 나머지 레코드 세트를 얻고 modal에서 편집하기 위해 표시하려고했지만 id는 javascript에있었습니다.

자바 스크립트를 통해 id를 전달하는 대신 내 C# 코드 내에서 모달을 래핑하고 ID를 사용하는 방법은 있지만 레코드 세트가 반복되므로 클라이언트 측에서 html이 여러 인스턴스에서 부풀려 질 수 있습니다. 모든 레코드에 대해 적절한 데이터와 함께 생성 된 ID를 갖습니다. Id '는 내 루프에서 모달의 여러 인스턴스를 만들지 않는 더 나은 옵션을 좋아합니다. 궁극적으로, 저는 아약스를 사용하거나 모달을 열 때마다 다른 페이지의 레코드 세트를 호출해야합니다. 사람들이 더 좋은 방법을 가지고 있다면 아프다.

관련 문제