2016-07-27 18 views
0

私はこのヘルパーを試してみました:チェックサムなしまだ剣道バーコードでチェックサムを表示する方法は?

$(function() { 
    var barcode = $('#token').data('kendoBarcode'); 
    barcode.setOptions({ 
     checksum: true 
    }); 
}); 

:何も変わっていないので

@(Html.Kendo().Barcode() 
     .Name("token") 
     .Encoding(BarcodeSymbology.EAN13) 
     .Checksum(true) //Nothing changes if true or false 
     .Value(Model.Ean13Code) 
) 

、私はJavascriptを使用しようとしました。

チェックサムで13桁の値を設定しようとしましたが、例外が発生しました。これは12桁にする必要があります。

私には何が欠けていますか?

Barcode

+0

コードは正しいですが、参照する剣道DLLとJSバージョンの詳細を提供してください。 –

+0

私は 'v2016.2.504' @ JayeshGoyaniを使用します。私は問題が私の終わりにあると思った。私は明日の最新ビルドにアップグレードしようとします –

答えて

1

これは、バーコードの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") 
) 

あなたはまだ上書きなる、そうでない場合falseがシリアライズされ、サーバー側の宣言で.Checksum(true)が必要になりますそれが何であっても、デフォルトのクライアント側の値です。

関連する問題