使用ASP.net MVC 3 / Razor,如何在脚本标记中包含布尔模型属性?这就是我所拥有的:
<script type="text/javascript">
$(document).ready(function () {
var claimFlagged = "@Model.Flagged";
// More javascript
如何将claimFlagged设置为Model.Flagged中的值?
答案 0 :(得分:2)
这将做你想要的:
var claimFlagged = @(Html.Raw(Json.Encode(Model.Flagged)));
如果你只是尝试使用这样的东西:
var claimFlagged = @(Model.Flagged);
它实际上会生成True
或False
(请注意大写的T
和F
),而不是更自然的小写版本。使用@(Html.Raw(Json.Encode(...)))
方法会产生正确的小写输出。
我假设您希望在JavaScript代码中直接使用bool而不是字符串。如果您确实希望输出变为字符串(即"true"
或"false"
),只需用引号括起代码:
var claimFlagged = "@(Html.Raw(Json.Encode(Model.Flagged)))";
答案 1 :(得分:0)
您是否尝试删除引号:
<script type="text/javascript">
$(document).ready(function () {
var claimFlagged = '@(Model.Flagged)';
// More javascript
如果被引用,Razor不会绑定该属性。