2016-07-27 12 views
0

Ich habe versucht, diese Helfer:Wie zeige ich die Prüfsumme im Kendo-Barcode an?

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

Da sich nichts geändert, ich versuchte Javascript zu verwenden:

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

Noch ohne Prüfsumme.

Ich habe auch versucht, den Wert 13 Ziffern mit Prüfsumme, aber eine Ausnahme aufgetreten, sollte es nur 12 Ziffern sein.

Was ich vermisse?

Barcode

+0

der Code ist richtig, aber könnten Sie bitte verwiesen verwiesen Kendo DLL und JS Version Detail? –

+0

Ich benutze 'v2016.2.504' @JayeshGoyani. Ich dachte, das Problem ist in meinem Ende. Ich werde versuchen, morgen auf die neueste Version zu aktualisieren –

Antwort

1

Dies ist ein Fehler in dem MVC-Wrapper des Barcode. Der Standardwert der Eigenschaft checksum im JavaScript-Code ist false. Der C# -Code impliziert jedoch, dass der Standardwert true ist. Wenn Sie .Checksum(true) festlegen, wird daher nichts zu dem Client serialisiert, so dass false angenommen wird.

Eine mögliche Abhilfe ist, den clientseitige Prototyp zu ändern, bevor die Widget-Instanz initialisiert wird:

<script> 

    $(function() { 
     kendo.dataviz.ui.Barcode.fn.options.checksum = true; 
    }); 

</script> 

@(Html.Kendo().Barcode() 
     .Name("token") 
     .Encoding(BarcodeSymbology.EAN13) 
     .Checksum(true) 
     .Value("123456789012") 
) 

Sie noch .Checksum(true) in der serverseitigen Erklärung müssen, sonst wird false serialisiert werden, die außer Kraft gesetzt werden der standardmäßige clientseitige Wert, unabhängig davon, was das ist.

Verwandte Themen