作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将 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。
Javascript
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/
我是一名优秀的程序员,十分优秀!