微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何使用foreach循环在razor中构建json对象并调用jquery函数

如何解决我如何使用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 举报,一经查实,本站将立刻删除。