我正在尝试重建Razor表单以在提交后保留屏幕值。表单部分使用可配置值动态构建。我正在尝试使用下面的代码恢复值
@if (@Model.valueContainer != null && @Model.valueContainer != "")
{
<script >
var json = '@Model.valueContainer.ToString()', obj = JSON.parse(json);
if (obj.customFieldTypeID != null && obj.customFieldTypeID == 2)
{
document.getElementById("textbox_" + obj.id).value = obj.textboxEntry;
}
</script>
}
当我用Json字符串替换@Model.valueContainer.ToString()
时这很好用,但每次都失败了。 'var json = '@Model.valueContainer.ToString()'
的语法显然是错误的,但应该怎么做?
答案 0 :(得分:0)
每当您想要将模型对象渲染为json时,您可以使用Json.Encode Method
您可以使用以下内容:
var obj = '@Html.Raw(Json.Encode(@Model.valueContainer))';
if (obj.customFieldTypeID != null && obj.customFieldTypeID == 2)
{
document.getElementById("textbox_" + obj.id).value = obj.textboxEntry;
}