0

我在我的一页中使用 asp.net mvc 3。我需要从列表对象中获取字符串列表。所以我这样做:

@{
    var orderIds  = from s in Model.Orders
                    select s.id;

}

从我的一个ajax调用中,我需要“orderIds”

$("#renderBtn").click(function () {
            var inputData = {
                'orderIds':  need to get the order ids here 
            }; 

            $.ajax({
                url: '/Order/ExtraData',
                data: inputData,
                type: 'POST',
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                success: function (result) {
                    ....
                },
                error: function () {
                    ...
                }
            });
        });

知道如何获取 orderIds 并在 javascripts 中使用吗?谢谢

4

2 回答 2

2

您的代码定义orderIds是服务器端变量;你需要我们一个客户端变量。您需要在创建视图时在script页面底部附近的块中定义该变量。

@{ 
  var orderIds = string.Join(",", Model.Orders.Select(s => s.id).ToArray());
}
<script>
       var orderIds  = [@orderIds]
</script>

警告:代码可能不完美,也可能无法编译,但这应该让您知道如何继续。

于 2012-06-17T00:56:19.843 回答
1

如果您不(或不想)使用内联 javascript 并将其全部分开,您可以执行以下操作:

@{ 
  var orderIds = string.Join(",", Model.Orders.Select(s => s.id).ToArray());
}

<input type="hidden" id="orderIds" value="@orderIds" />

然后在你的 javascript/jQuery 中:

orderIds = $('#orderIds').val();
于 2012-06-17T03:32:43.200 回答