我正在尝试创建一个条形码控件,我可以在几个不同的项目中使用它们执行以下操作:当在ASP.NET网页上的任何位置键入前导字符时,我希望它将焦点设置为特定的文本框,以便任何以下字符进入文本框。当用户单击ASP按钮时,我将读取文本框并解释条形码。
我有一个类库项目,并添加了一个ASP.NET服务器控件和一个嵌入式资源JavaScript文件。在我的服务器控件中,我有代码:
Page.ClientScript.RegisterClientScriptResource(Page.ClientScript.GetType, "BarcodeInterpret.BarcodeJS.js")
并在呈现页面的HTML中创建Web资源URL。我已将服务器控件放在示例页面上,并使用以下代码将所有keydown事件连接到JavaScript函数:
Page.Header.Attributes.Add("onKeyUp", "=keyDown(event)")
我遇到的问题是示例页面不会导致keydown事件触发,这导致后面的字符不会进入我指定的文本框。我还通过验证它是否存在于以下代码产生的列表中来验证我拥有正确的Web资源名称:
Dim MyResources() = MyClass.GetType.Assembly.GetManifestResourceNames
在将此代码作为服务器控件之前,我首先在ASP.NET Web项目中使用相同的javascript文件和用于向页面注册事件的代码完成此操作。我已经附加了我的服务器控件类库。