怎么可能使@Html.TextBoxFor() 能够接受条形码扫描仪输入但不能接受键盘输入?
谢谢!!
这实际上是不可能的,因为条形码扫描仪所做的只是将条形码翻译成可读的文本。没有办法限制您用于输入文本的输入设备。
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 = "";
}
您将使用 JavaScript 限制此客户端并在服务器端验证用户输入。
限制输入是不可能的,您只能订阅窗口对象的 keydown 事件,累积输入,如果它与条形码格式匹配,则将其放入禁用输入。
一些条形码扫描仪还能够将用户定义的字符放在条形码的开头和结尾,因此您可以使用这些字符来确定条形码范围。