我将我的代码更改为不再需要这个答案,但我仍然出于好奇而询问。
经过大量搜索,我发现了这个问题和其他一些人喜欢它。我一直在寻找一种方法来获取将由 JsonResult 返回的 JSON 并在视图中使用它。该答案和其他答案的问题在于它们似乎不安全。我发现的一些来源建议是这样的:
@Html.Raw(Json.Encode(Model))
首先,Json.Encode
似乎不存在了。其次,如果我使用 Raw,那么不仅 JSON 语法未编码,模型内容也未编码。如果用户<script>
在他们的信息中输入标签,它将以这种方式吐出并执行。如果我不使用 Raw,JSON 也会被视图编写器转义。
我想要这个的原因是因为我有一个使用一些 jQuery 模板的页面,并且在第一次加载时,我希望通过让视图输出一个触发它们的脚本标记来继续使用这些模板。