【发布时间】:2021-01-30 10:00:36
【问题描述】:
我正在开发一个 ASP.NET Core 应用程序。我想在我的 js.script 文件中使用控制器发送的模型。
目前我正在使用
var model = @Html.Raw(Json.Serialize(Model));
有了这个,我可以在 jQuery 中访问整个模型,但是当我检查网站时,模型中的所有数据都是可见的。
如何预防?我想要一个 java 对象。
我搜索了很多但没有运气:(
感谢您的帮助。
【问题讨论】:
我正在开发一个 ASP.NET Core 应用程序。我想在我的 js.script 文件中使用控制器发送的模型。
目前我正在使用
var model = @Html.Raw(Json.Serialize(Model));
有了这个,我可以在 jQuery 中访问整个模型,但是当我检查网站时,模型中的所有数据都是可见的。
如何预防?我想要一个 java 对象。
我搜索了很多但没有运气:(
感谢您的帮助。
【问题讨论】:
您可以使用您需要的属性创建一个匿名/临时对象,例如在 C# 中:
var model = @Html.Raw(Json.Serialize(new { Model.Id, Model.Name, Model.Age }));
如果您希望它使用 javascript 约定或映射到不同的属性名称,请添加名称,例如
var model = @Html.Raw(Json.Serialize(new {
id = Model.Id,
name = Model.Name,
ageOfModel = Model.Age
}));
console.log(model.id, model.name, model.ageOfModel);
记住这是.Net,不是javascript(所以不是"id":等)然后console.log回到javascript
【讨论】: