javascript - 连接打印机名称与 javascript 时出错

标签 javascript c# asp.net-mvc concatenation zebra-printers

它是关于查找系统已安装的打印机,但是当找到它们时,JavaScript 代码会在“品牌”(Zebra) 和“型号”(GC420t) 之间的空白处连接 % 20 ...我附上一张图片

screenshot

问题是,当我将此参数传递给函数 PrintCommands 时,它无法识别打印机...事实....在组合中,它正确地显示了打印机的名称..

Combobox printers

我的观点:

<h3>Impresión de Etiquetas</h3>

<div>
    <label class="checkbox">
        <input type="checkbox" id="useDefaultPrinter" /> <strong>Usar impresora por defecto</strong> o...
    </label>
</div>

<div id="loadPrinters">
    Click para buscar impresoras instaladas...
    <br />
    <input type="button" onclick="javascript:jsWebClientPrint.getPrinters();" value="Load installed printers..." />
    <br /><br />
</div>

<div id="installedPrinters" style="visibility:hidden">
    <label for="installedPrinterName">Select an installed Printer:</label>
    <select name="installedPrinterName" id="installedPrinterName"></select>
</div>

<script type="text/javascript">
    var wcppGetPrintersTimeout_ms = 10000; //10 sec
    var wcppGetPrintersTimeoutStep_ms = 500; //0.5 sec

    function wcpGetPrintersOnSuccess() {
        // Display client installed printers
        if (arguments[0].length > 0) {
            var p = arguments[0].split("|");
            var options = '';
            for (var i = 0; i < p.length; i++) {
                options += '<option>' + p[i] + '</option>';
            }
            $('#installedPrinters').css('visibility', 'visible');
            $('#installedPrinterName').html(options);
            $('#installedPrinterName').focus();
            $('#loadPrinters').hide();
        } else {
            alert("No printers are installed in your system.");
        }
    }
    function wcpGetPrintersOnFailure() {
        // Do something if printers cannot be got from the client
        alert("No printers are installed in your system.");
    }
</script>

<br />

<input type="button" style="font-size:18px" onclick="javascript:jsWebClientPrint.print('useDefaultPrinter=' + $('#useDefaultPrinter').attr('checked') + '&printerName=' + $('#installedPrinterName').val());" value="Print ZPL..." />


@section scripts{

    @* Register the WebClientPrint script code generated by PrintZPLController. *@

    @Html.Raw(ViewBag.WCPScript);

}

我不明白“% 20”如何与品牌和型号之间的空格连接起来......对我有什么帮助吗?

pd:当传递不带“%20”的名称作为参数时,脚本正常工作

最佳答案

您的后端代码中需要某种 URL 解码功能。我不太了解 C#,但我认为你会这样做:

printerName = HttpUtility.UrlDecode(printerName);

...在 PrintCommands() 的开头。

关于javascript - 连接打印机名称与 javascript 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49121513/

相关文章:

asp.net-mvc - ASP.NET MVC 数据库本地化

javascript - Url Loader,加载我的背景图片一次,然后在刷新页面后它无法显示

javascript - 使用 Angular.js 处理基于 OAuth token 的身份验证?

javascript - 如何生成保留标点符号的简单字谜?

c# - "Loop"在 C# 中不工作

c# - C#中的数据分区

c# - 如何将公式应用于 EPPLUS Core 中的整列?

javascript - 让音频适用于所有浏览器

c# - 升级到 .NET 6 时,Web Project 抛出运行时异常

asp.net - User.Identity.Name 返回 NT AUTHORITY\NETWORK SERVICE 我想要 Domain\USER