我需要在javascript中创建一个发送到函数的对象,但这些信息来自我的viewbag。
new FleetSelector("False",
[{"OwnerId": "2df3893d-c406-48fe-8443-1622ddc51af2", "DisplayName": "String 1" },
{ "OwnerId": "7A402CD7-5EEA-4AF5-80A3-22EED0610C9D", "DisplayName": "String 2" }]);
在我的viewBag中我有一个Fleets模型列表,它有一个Guid OwnerId和一个String ownerName,这是我尝试的东西,我知道这是错的但不好添加它来尝试解释我希望实现的目标
new FleetSelector("False",
[ @foreach (var fleet in ViewBag.Fleets)
{
'{' + '"' + "OwnerId" + '"' + ':' + '"' + fleet.OwnerId + '"' + ',' + '"' + "DisplayName" + '"' + ':' + '"' + fleet.ownerName + '"' + '}'
} }]);
答案 0 :(得分:1)
您必须在array
对象之外填充FleetSelector
。
new FleetSelector("False",array);
这是数组定义:
var array=[];
@foreach (var fleet in ViewBag.Fleets)
{
@:array.push({"OwnerId":@fleet.OwnerId,"DisplayName":@fleet.ownerName});
}
答案 1 :(得分:0)
您可以像这样序列化。
SerializeObject
方法返回一个字符串,它是C#对象的json字符串表示形式。
var fleetsArray= @Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.Fleets))
console.log(fleetsArray);