Nik*_*kos 133 javascript asp.net-mvc razor
如何在cshtml文件中为J2变量渲染布尔值?
目前,这显示语法错误:
<script type="text/javascript" >
var myViewModel = {
isFollowing: @Model.IsFollowing // This is a C# bool
};
</script>
Run Code Online (Sandbox Code Playgroud)
ano*_*ser 277
您可能还想尝试:
isFollowing: '@(Model.IsFollowing)' === '@true'
Run Code Online (Sandbox Code Playgroud)
并且更好的方法是使用:
isFollowing: @Json.Encode(Model.IsFollowing)
Run Code Online (Sandbox Code Playgroud)
Luc*_*ero 25
JSON布尔值必须小写.
因此,试试这个(并确保nto //在该行上有评论):
var myViewModel = {
isFollowing: @Model.IsFollowing.ToString().ToLower()
};
Run Code Online (Sandbox Code Playgroud)
或者(注意:您需要使用命名空间System.Xml):
var myViewModel = {
isFollowing: @XmlConvert.ToString(Model.IsFollowing)
};
Run Code Online (Sandbox Code Playgroud)
Mar*_* L. 20
因为搜索带我到这里:在ASP.NET Core中,IJsonHelper没有Encode()方法.相反,使用Serialize().例如:
isFollowing: @Json.Serialize(Model.IsFollowing)
Run Code Online (Sandbox Code Playgroud)
gdo*_*ica 12
var myViewModel = {
isFollowing: '@(Model.IsFollowing)' == "True";
};
Run Code Online (Sandbox Code Playgroud)
为什么你True不true问...好问题:
为什么Boolean.ToString输出"True"而不是"true"
这是另一个需要考虑的选项,使用 !! 转换为布尔值。
isFollowing: !!(@Model.IsFollowing ? 1 : 0)
Run Code Online (Sandbox Code Playgroud)
这将在客户端生成以下内容,其中 1 转换为 true,0 转换为 false。
isFollowing: !!(1) -- or !!(0)
Run Code Online (Sandbox Code Playgroud)
小智 5
一个更容易阅读的解决方案是这样做:
isFollowing: @(Model.IsFollowing ? "true" : "false")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65240 次 |
| 最近记录: |