@ Html.TextBox可以从条形码扫描仪获取输入但不能从键盘输入中获取

时间:2012-10-25 19:19:23

标签: asp.net asp.net-mvc-3 razor textbox

如何使@ Html.TextBoxFor()能够获取条形码扫描仪而不是键盘输入?

谢谢!

3 个答案:

答案 0 :(得分:1)

这实际上是不可能的,因为所有条形码扫描器都将条形码转换为可读文本。实际上无法限制用于输入文本的输入设备。

        if (TextBox1.Text.Substring(0,2) == "##" && TextBox1.Text.Substring(TextBox1.Text.Length - 2) == "##")
        {
            TextBox1.Text = TextBox1.Text.Substring(2, TextBox1.Text.Length - 4);
            // or TextBox1.Text = TextBox1.Text.Replace("##","");
        }
        else
        {
            TextBox1.Text = "";
        }

答案 1 :(得分:0)

您将使用JavaScript限制此客户端并验证用户输入服务器端。

答案 2 :(得分:0)

限制输入是不可能的,您只能在窗口对象的keydown事件上订阅,累积输入,如果它与条形码格式匹配,则将其置于禁用输入。

某些条形码扫描仪还能够在条形码的开头和结尾放置用户定义的字符,因此您可以使用该字符来确定条形码范围。