2017-12-02 3 views
0

나는 다음과 같은 코드가 있습니다@ Html.Raw - JSON 개체에 할당 할 때없는 줄 바꿈

data: { 
      comment: { 
       'id': @Model.Id, 
       'description': "@Html.Raw(Model.Description)" 
      }, 

     }, 

을하지만 콘솔에서 다음과 같은 오류가 발생합니다 :

Uncaught SyntaxError: Invalid or unexpected token 

오류 소스에서 강조 chrome dev 도구는 다음과 같이 표시됩니다.

data: { 
      comment: { 
       'id': 1, 
       'description': "<p>Test</p> 

    <p>Testing</p> 
    ", 
      } 
     }, 

설명 속성에 오류가 있습니다. 나는 그 오류가 던지고있는이 속성에 대한 값이 더해지지 않기 때문에 \n이 추가되었다고 생각합니다.

어떻게 수정할 수 있습니까?

답변

0

이 기능이 작동합니까?

@Html.Raw(HttpUtility.HtmlEncode(Model.Description).Replace("\n", "<br/>")) 
0

MVC보기를 통해 JSON 출력을 생성하려고합니다. 당신은 성공할 수도 있지만, 당신은 또한 그것을 필요 이상으로 더 복잡하게 만들고, 그것을 잘못 할 큰 위험이 있습니다. 방금 위험을 경험했습니다!

다음 문제는 JSON 표준에 따라 모든 필드가 작은 따옴표 대신 큰 따옴표로 묶여 있어야한다는 것입니다. 그리고 당신은 다음에 겪을 수있는 것을 압니다.

은 MVC의 힘을 사용하여 JSON 출력을 렌더링하도록합니다. JSON 출력을 위해 MVC Views를 전혀 필요로하지 않으며, 잘 작성된 Controller 코드 만 MVC가 적절한 JSON으로 바꿀 것이다.

public ActionResult MyAction(....) 
{ 
    var modelObj = .... // data retrieval code here 
    var resultObj = new 
    { 
     data = new 
     { 
      comment = new 
      { 
       id = modelObj.Id, 
       description = modelObj.Description 
      } 
     } 
    }; 
    return Json(resultObj); 
} 
: 여기

는 컨트롤러의 동작 방법은 같이해야합니다 것입니다