2017-11-29 2 views
0

보기에 일반 DataTable을 반환하는 컨트롤러가 있습니다. 이 테이블을 jquery 데이터 테이블로 표시하려고합니다. 그것은 단지 대신 클릭 할 수있는 버튼을 표시 같은jquery 컨트롤러에서 datatable의 열로 단추에 대한 원시 HTML 전달

<button class='editbtn'>edit</button> 

JQuery와 데이터 테이블 표시 : 열 중 하나는 지금까지 단지 문자열, 그것에서 HTML 버튼이 있습니다. 내가 페이지 소스를 볼 때 나는 특수 문자가 탈출 한 것을 볼 : 나는 버튼 등이 디스플레이를 가지고 할 수있는 일이

<td>&lt;button class=&#39;editbtn&#39;&gt;edit&lt;/button&gt;</td> 

있습니까?

<table id="onHandDataTable" class="display compact row-border cell-border hover tablefont"> 
      <thead> 
     <tr> 
      @foreach (DataColumn col in Model.Columns) 
      { 
       <th>@col.ColumnName</th> 
      } 
     </tr> 
    </thead> 
      <tbody> 
       @foreach (DataRow row in Model.Rows) 
       { 
        <tr> 
         @foreach (DataColumn col in Model.Columns) 
         { 
          <td>@row[col.ColumnName]</td> 

         } 
        </tr> 
       } 
      </tbody> 
     </table> 

을 그리고 여기에 데이터 테이블에 대한 자바 스크립트입니다 : : 여기 내보기에서 테이블은 단지보기로 컨트롤러에서 DataTable을 전달 ajax를 사용하고 있지 않다 기억

$(document).ready(function() { 
    var table = $('#onHandDataTable').DataTable({ 
     "iDisplayLength": 100, 
     "lengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]], 
     "oLanguage": { 
      "sSearch": "Filter Results: ", 
      "sLengthMenu": "Entries per page: _MENU_", 
     }, 
    }); 

}); 
+0

"열 중 하나에 HTML 단추가 있습니다." 따라서 귀하의 데이터에는 버튼에 대한 HTML 마크 업이 있습니까? 왜 ? 왜 면도기 테이블 렌더링 코드 안에 버튼을 렌더링하지 않습니까? – Shyju

+0

'Html.Raw'를 사용하여 필요에 따라 면도기가 HTML을 인코딩하지 않도록 할 수 있습니다. – Shyju

+0

예 내 데이터에는 버튼에 대한 HTML 마크 업이 있습니다. 내가 어떻게 해야할지 모르겠 으니까. –

답변

0

html로 .Raw는 옵션입니다. 버튼이 왜 처음 열에 있는지 궁금합니다. 컨트롤러에 설정하는 경우에는 설정하지 마십시오. 전체 테이블에 Html.Raw를 사용 대신

당신의 .cshtml이

  <tr> 
       @foreach (DataColumn col in Model.Columns) 
       { 
        <td>@row[col.ColumnName]</td> 
       } 
       <td><button class='editbtn'>edit</button></td> 
      </tr> 

처럼 뭔가를 설정할 수 주입을 HTML로 당신을 열 .. 당신은 일을 추가 할 수 있습니다 것입니다 테이블 헤더에도.

관련 문제