2014-03-27 2 views
0

MVC 애플리케이션의 Infragistics GridView에서 작업 할 때 JSON 문자열 내부에 HTML과 함께 면도기 마크 업을 사용하려고합니다. 예, 해결 방법이 있지만 Infragistics 데이터 바인딩 도구를 사용할 수 있으려면 전체 컨트롤러를 레코딩하는 것보다 낫습니다 (특히 MSSQL과 같은 DB2를 사용하지 않으므로 특히 그렇습니다). 다음과 같이면도날 JSML JSON 문자열

어쨌든, 내보기 중 하나의 코드는 다음과 같습니다

<script type="text/javascript"> 
    var data = []; 

    var i = 0; 
    @foreach (var item in Model) 
     { 
      var width = item.count_primary/item.count_total; 
      <text> 
       data[i] = { 
        "omkt": '@item.omkt', "dmkt": '@item.dmkt', "ibu": '@item.ibu',    
        "count_total": '@item.count_total', "count_primary": '@item.count_primary', 
        "primary_ratio": '@item.count_primary'/'@item.count_total', 
        "primary_ratio_graph": "<td><div style=\"background-color:#00F;width:@width%;height:10px;border:1px solid #000;\"><\/td>" 
      }; 
      i++; 
     </text> 
    } 
... 

문제는 primary_ratio_graph 라인에서 발생하는 구문 분석 오류입니다. 모든 따옴표에 이스케이프 문자를 사용하고 있지만 이스케이프 문자를 사용해야합니까?

답변

4

슬래시를 벗어났습니다. td 요소의 끝 태그에서 슬래시를 벗어나야한다고 생각하지 않습니다. 이것을 시도하십시오 :

"<td><div style=\"background-color:#00F;width:@width%;height:10px;border:1px solid #000;\"></td>"

+0

감사합니다. – panoptical

+0

자바 스크립트가 C#과 다릅니다. 문자열에 대해 작은 따옴표와 큰 따옴표 모두 사용할 수 있습니다. 스타일 주위에서 큰 따옴표를 벗어날 필요가 없어도 작은 따옴표 만 사용할 수 있습니다. – krillgar

+0

실제로 그가 면도칼을 사용하고 있기 때문에 그는 않습니다. 그렇지 않으면 컴파일 시간 오류가 발생합니다. 면도기는 실제로 .net 스택을 사용하여보기를 만듭니다. 원시 HTML이 아닙니다. – kmacdonald