C# 获取不带文本框的文本输入

C# 获取不带文本框的文本输入,c#,asp.net,model-view-controller,input,hidden,C#,Asp.net,Model View Controller,Input,Hidden,我想在前门创建一个输入/输出仪表板,电脑和壁挂电视全屏运行,没有键盘/鼠标,只有一个条形码扫描仪用于输入。Asp.net mvc仪表板应用程序将为接待员显示当前所有在场员工的列表。要显示用户列表,如果我有一个文本框和“提交”按钮,这将很容易。出于设计和新冠病毒的原因,我希望计算机总是在没有任何提示/文本框的情况下等待条形码扫描仪的输入。我只想让员工走到终端,在进入/退出时扫描自己。这有意义吗?我正处于这个项目的设计阶段,不知道如何在没有传统的texbox/submit方法的情况下获得文本输入。谢

我想在前门创建一个输入/输出仪表板,电脑和壁挂电视全屏运行,没有键盘/鼠标,只有一个条形码扫描仪用于输入。Asp.net mvc仪表板应用程序将为接待员显示当前所有在场员工的列表。要显示用户列表,如果我有一个文本框和“提交”按钮,这将很容易。出于设计和新冠病毒的原因,我希望计算机总是在没有任何提示/文本框的情况下等待条形码扫描仪的输入。我只想让员工走到终端,在进入/退出时扫描自己。这有意义吗?我正处于这个项目的设计阶段,不知道如何在没有传统的texbox/submit方法的情况下获得文本输入。谢谢。

一定要讲得通

只是:

  • 查找支持条形码扫描仪的库
  • 编写读取扫描仪的代码,并查找相应的名称(例如,从数据库中)
  • 编写用新名称更新列表的代码
  • 您可能还希望让接待员能够从列表中删除姓名,或者手动输入无法扫描的姓名

  • 增编:

    没有键盘/鼠标,只有一个用于输入的条形码扫描仪。。。我只是想 员工走到终端,在进入/退出时扫描自己

    这一部分可能具有挑战性,原因如下:

    • 如果有足够的UI,员工可以单击“开始扫描”(例如,使用按钮),那就太好了

    • 目前还不清楚仅仅读取条形码中的编码是否足够。通常,条形码包含最少的信息(例如“用户ID”),您需要进行额外的处理(例如“从数据库中的ID查找用户名”)

    然而

    看这里:

    本文讨论如何使用和朋友异步接收扫描仪数据

    另见

    这其中大部分似乎是UWP特定的-我不确定它是否一定会对你所有的工作

    您可能还想考虑使用键盘或鼠标……但是“锁定”PC进入“亭模式”。例如:

    以下是我管理的内容:


    这都是JavaScript,您可以用自己对端点的调用来替换警报。只要确保字段始终处于焦点位置,您就可以了。

    感谢您的快速回复。我不是在问“如何使用条形码扫描仪”,因为它们就像键盘一样,这很简单。我的问题更多的是“如何在没有文本框的情况下获取用户数据,而文本框需要显示并且需要成为infocus才能接受输入?”-再次感谢。我认为你是在本末倒置。不,您不需要“键盘”(或等效键盘)来“接受输入”。你当然不需要“文本框”。问:你是如何将阅读器连接到电脑的(我猜是USB端口)?问:条形码中编码的数据是否“完整”(例如,您想要显示的全名),或者是否需要“查找”(例如,从条形码中编码的ID中查找数据库中的用户名)?问:你是否为用户提供了一种“用户界面”(例如“开始阅读”按钮)?请考虑通过更新你的帖子来回答以上问题,我很乐意尝试更新我的回复。另外,请看这里,看看它是否给了你什么好主意:嗨,kaoskev,听起来是个有趣的项目。我认为你的问题可能有点太宽泛了,但是是的,我相信这是有道理的。我认为你不会得到比@paulsm4提供的答案更好的答案。
    $(document).ready(() => {
        const input = document.getElementById("myInput");
    
        input.style.position = "absolute";
        input.style.top = "-100px";
        input.focus(); // on DOM ready
    
        let timeout = null;
        input.addEventListener('keyup', () => {
            if (timeout) {
                clearTimeout(timeout);
            }
            timeout = setTimeout(() => {
                if(input.value) {
                    alert(`I got ${input.value}`);
                    input.value = "";
                }
                input.focus();
            }, 100);
        });
    });