// controller
public ActionResult Index()
{
var viewModel = new IndexViewModel();
viewModel.Title = "It's Alive!!";
return View(viewModel);
}
// view
@model Project.Models.IndexViewModel
@section Script {
<script src="~/Scripts/scripts.js"></script>
<script>
var options = {
title: @Html.Raw(Model.Title)
}
application.init(options);
</script>
}
页面加载时会显示以下错误
Uncaught SyntaxError: Unexpected identifier
字符串中的撇号似乎导致了这个问题,但我不确定如何解决这个问题。非常感谢任何帮助
答案 0 :(得分:1)
试试这个:
title: '@Html.Raw(Json.Encode(Model.Title))'
答案 1 :(得分:0)
您可以在渲染之前使用Newtonsoft Json进行序列化。
@using Newtonsoft.Json
@section Script {
<script src="~/Scripts/scripts.js"></script>
<script>
var options = {
title: @Html.Raw(JsonConvert.SerializeObject(Model.Title))
}
application.init(options);
</script>
}
title: "It \"s Alive!!"
title: "It 's Alive!!"