首先,这段代码确实有效,但它给了我一些我想摆脱的烦恼。我有一个使用 razor 语法构建的 .cshtml 页面。幕后有一个巨大的、令人讨厌的、淘汰的对象,页面上的许多东西都绑定到它上面。目前,在实例化该淘汰模型时,我通过在如下所示的字符串文字中序列化有问题的 C# viewmodel 对象来做到这一点。
<script type="text/javascript">
$(document).ready(function() {
var data = @Html.Raw(Json.Encode(Model));
var contentListingModel = new ContentListingModel(data);
ko.applyBindings(contentListingModel, $('#pageRoot').get(0));
});
</script>
就像我说的,代码有效。但是,在调用 @Html.Raw 时,我收到了警告。Visual Studio 认为那里存在语法错误(在呈现后没有)。现在,这完全有道理,为什么事情认为那里存在语法问题。但是我很想通过以不会触发此问题的方式进行编码来消除警告(我意识到我可以隐藏警告或做任何其他事情),但我只是希望它在以下情况下不显示我将 C# 对象序列化为 JSON 并将它们填充到页面上的 javascript 中。有任何想法吗?
我完全接受询问这个问题是迂腐和琐碎的,因为代码运行良好并且看起来很干净,但这让我很恼火。