如何在 kendo 条码中显示校验和?
How to show checksum in kendo barcode?
我试过这个助手:
@(Html.Kendo().Barcode()
.Name("token")
.Encoding(BarcodeSymbology.EAN13)
.Checksum(true) //Nothing changes if true or false
.Value(Model.Ean13Code)
)
由于没有任何改变,我尝试使用 Javascript:
$(function () {
var barcode = $('#token').data('kendoBarcode');
barcode.setOptions({
checksum: true
});
});
仍然没有校验和。
我也试过设置13位校验和的值,但是出现异常,应该只有12位。
我错过了什么?
这是 Barcode 的 MVC 包装器中的错误。 JavaScript代码中checksum
属性的默认值为false
。但是,C# 代码暗示默认值为 true
。因此,当您设置 .Checksum(true)
时,不会向客户端序列化任何内容,因此假定为 false
。
一种可能的解决方法是在初始化小部件实例之前更改客户端原型:
<script>
$(function () {
kendo.dataviz.ui.Barcode.fn.options.checksum = true;
});
</script>
@(Html.Kendo().Barcode()
.Name("token")
.Encoding(BarcodeSymbology.EAN13)
.Checksum(true)
.Value("123456789012")
)
您仍然需要在服务器端声明中使用 .Checksum(true)
,否则 false
将被序列化,这将覆盖默认的客户端值,无论它是什么。
我试过这个助手:
@(Html.Kendo().Barcode()
.Name("token")
.Encoding(BarcodeSymbology.EAN13)
.Checksum(true) //Nothing changes if true or false
.Value(Model.Ean13Code)
)
由于没有任何改变,我尝试使用 Javascript:
$(function () {
var barcode = $('#token').data('kendoBarcode');
barcode.setOptions({
checksum: true
});
});
仍然没有校验和。
我也试过设置13位校验和的值,但是出现异常,应该只有12位。
我错过了什么?
这是 Barcode 的 MVC 包装器中的错误。 JavaScript代码中checksum
属性的默认值为false
。但是,C# 代码暗示默认值为 true
。因此,当您设置 .Checksum(true)
时,不会向客户端序列化任何内容,因此假定为 false
。
一种可能的解决方法是在初始化小部件实例之前更改客户端原型:
<script>
$(function () {
kendo.dataviz.ui.Barcode.fn.options.checksum = true;
});
</script>
@(Html.Kendo().Barcode()
.Name("token")
.Encoding(BarcodeSymbology.EAN13)
.Checksum(true)
.Value("123456789012")
)
您仍然需要在服务器端声明中使用 .Checksum(true)
,否则 false
将被序列化,这将覆盖默认的客户端值,无论它是什么。