如何解决我如何使用foreach循环在razor中构建json对象并调用jquery函数
|| 我想获取对象列表并遍历该列表并构建一个json对象,并在剃刀的foreach循环中调用jquery函数。@foreach (var item in Model.CoordinatesObj) {
var pinpoint = { \"top\": item.Top,\"left\": item.Left,\"width\": item.Width,\"height\": item.Height
};
$(\"#toPinpoint\").mapImage.addPinpointExt(pinpoint);
}
我希望能够做到这一点,以便它动态构建此精确对象,并用于通过我的addPinpointExt函数。 Model.CoordinatesObj是对象列表。这样甚至可能吗?如果不是,最好的方法是什么?
解决方法
我将for循环放入MVC操作中,然后使用$ .ajax()进行调用
$.ajax({
url: \"/Home/NewAction/id\",type: \"POST\",error : function(req,status,errorObj) { /* handle error */ },success: function(result) {
var pinpoint = result;
$(\"#toPinpoint\").mapImage.addPinpointExt(pinpoint);
}
});
使用Razor生成HTML。
, $(\"p\")ToArray()
为您创建一个数组,以保存每个html元素的值(示例中为\'p \'段落)。或者,您可以使用each()Jquery函数进行迭代。
, 如果要将服务器端代码与纯文本(在您的情况下为Javascript / JSON)混合,则可以将纯文本包装在<text>
标记中:
@foreach (var item in Model.CoordinatesObj) {
<text>
var pinpoint = { \"top\": @item.Top,\"left\": @item.Left,\"width\": @item.Width,\"height\": @item.Height
};
$(\"#toPinpoint\").mapImage.addPinpointExt(pinpoint);
</text>
}
注意,您还缺少服务器端变量前面的“ 5”。
Phil Haack在Razor语法上有一个不错的参考页。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。