我想将bitArray从我的javascript文件传递到webApi中的方法
我在我的javascript文件中创建如下的bitArray
var myBits = new BitArray(2);
myBits.setAt(1,false);
myBits.setAt(2,true);
然后我在webApi中调用如下方法
public int ConvertArray(BitArray a)
{
//some logic
}
我使用Breeze将数据传递到webapi,所以我尝试如下传递数据
var query = EntityQuery.from("ConvertArray")
.withParameters({ a: myBits });
manager1.executeQuery(query);
但是当我在webapi方法中放置断点时,我得到了空白数据。但是当我在传递数据时在JavaScript中放置断点时,它会获得2条记录,或者我应该说2位数组。
有人知道如何将bitArray传递给webapi吗?
更新1
这是我的位数组在代码中的样子
最佳答案
一种可能性是将BitArray存储为位字符串,然后再将其发送到服务器,然后在字符串到达服务器端后将其转换为C#BitArray。
Java脚本
BitArray.prototype.toString = function() {
this.m_bits.join('');
};
使用此方法可以使像
[ 1, 0, 1, 0 ]
这样的数组更改为字符串1010
。C#
BitArray a = new BitArray(bitString.Select(c => c == '1' ? true : false).ToArray());
关于c# - 如何将bitArray从JavaScript传递到C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25650091/