gpt4 book ai didi

c# - 使用 Html.Raw 将 ASP.NET 模型序列化为 JSON 时出现 Razor 语法错误

转载 作者:IT王子 更新时间:2023-10-29 04:22:50 24 4
gpt4 key购买 nike

此行在 Visual Studio 2012 中给我一个语法错误(字面上只是“语法错误”):

var data = @Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model));

Model 在这种情况下是在我的 cshtml 顶部声明的 @model MyApp.ViewModels.MyViewModel 的实例。

我的模型已正确序列化到数据 var 中,并且应用程序正常运行。从表面上看,将错误永久保留在我的错误列表中是很烦人的。

我应该如何修改该行以使编译器满意?

编辑:

根据要求,更多上下文。这是整个 $(document).ready():

<script type="text/javascript">

$(document).ready(function () {

$('#ReportDate').datepicker();
$('#DispositionDate').datepicker();

var data = @Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model));

var vm = new NonconformingProductViewModel(data);
ko.applyBindingsWithValidation(vm);

// validate on page load so all reqd fields are highlighted.
var valid = ko.validation.group(vm, {deep: true});
valid.showAllMessages(true);

}); // end document.ready

</script>

最佳答案

使用函数

实现一个返回输入参数的简单 JavaScript set 函数:

function set(value){
return value;
}

使用此函数将 Razor 模型值分配给 JavaScript 变量:

var data = set(@Json.Encode(Model));

作为一个选项,您可以使用自调用功能:

var data = function() { return set(@Json.Encode(Model)); }();

关于c# - 使用 Html.Raw 将 ASP.NET 模型序列化为 JSON 时出现 Razor 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17617263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com