cshtml 파일에서 부울을 JavaScript 변수로 렌더링하는 방법
현재 이것은 구문 오류를 보여줍니다.
<script type="text/javascript" >
var myViewModel = {
isFollowing: @Model.IsFollowing // This is a C# bool
};
</script>
답변
시도해 볼 수도 있습니다.
isFollowing: '@(Model.IsFollowing)' === '@true'
그리고 더 나은 방법은 다음을 사용하는 것입니다.
isFollowing: @Json.Encode(Model.IsFollowing)
답변
JSON 부울은 소문자 여야합니다.
따라서 이것을 시도하십시오 (그리고 //
줄에 주석을 달지 않도록하십시오 ).
var myViewModel = {
isFollowing: @Model.IsFollowing.ToString().ToLower()
};
또는 (참고 : 네임 스페이스를 사용해야합니다 System.Xml
) :
var myViewModel = {
isFollowing: @XmlConvert.ToString(Model.IsFollowing)
};
답변
검색으로 인해 나를 여기로 데려 왔기 때문에 ASP.NET Core에서 방법 IJsonHelper
이 없습니다 Encode()
. 대신을 사용하십시오 Serialize()
. 예 :
isFollowing: @Json.Serialize(Model.IsFollowing)
답변
var myViewModel = {
isFollowing: '@(Model.IsFollowing)' == "True";
};
왜 True
하지 true
물어 … 좋은 질문 :
왜에서 Boolean.toString 출력을한다 “참”과 “true”로하지
답변
!!를 사용하여 고려해야 할 또 다른 옵션이 있습니다. 부울로 변환.
isFollowing: !!(@Model.IsFollowing ? 1 : 0)
이렇게하면 클라이언트 측에서 다음이 생성되며 1은 true로, 0은 false로 변환됩니다.
isFollowing: !!(1) -- or !!(0)
답변
더 읽기 쉬운 해결책은 다음과 같습니다.
isFollowing: @(Model.IsFollowing ? "true" : "false")