使用ASP.net MVC 3/Razor,如何在腳本標記中包含布爾模型屬性?這裏是我有:在Javascript中使用模型屬性
<script type="text/javascript">
$(document).ready(function() {
var claimFlagged = "@Model.Flagged";
// More javascript
我將如何設置claimFlagged值在Model.Flagged?
使用ASP.net MVC 3/Razor,如何在腳本標記中包含布爾模型屬性?這裏是我有:在Javascript中使用模型屬性
<script type="text/javascript">
$(document).ready(function() {
var claimFlagged = "@Model.Flagged";
// More javascript
我將如何設置claimFlagged值在Model.Flagged?
這會做你想要什麼:
var claimFlagged = @(Html.Raw(Json.Encode(Model.Flagged)));
如果只是嘗試使用這樣的:
var claimFlagged = @(Model.Flagged);
它實際上會產生True
或False
(注意大寫T
和F
) ,而不是更自然的小寫版本。使用@(Html.Raw(Json.Encode(...)))
方法會產生正確的小寫輸出。
我假設你想在JavaScript代碼中直接使用bools而不是字符串。如果你真的想要的輸出是一個字符串,而不是(即"true"
或"false"
),只需用引號代碼:使用JavaScript內剃刀]的
var claimFlagged = "@(Html.Raw(Json.Encode(Model.Flagged)))";
第一個版本工作!它只是說第一個字符無效(爲什麼會這樣?) – user2206127
@ user2206127聽起來像是一個語法錯誤。 –
我的語法錯誤? – user2206127
你有沒有嘗試刪除引號:
<script type="text/javascript">
$(document).ready(function() {
var claimFlagged = '@(Model.Flagged)';
// More javascript
剃刀不會,如果引用屬性綁定。
可能重複(http://stackoverflow.com/questions/4599169 /使用剃刀在JavaScript內) – Yuriy