我的自定义 Web 控件 (ascx)
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="CustomAutoCompleteTextBox.ascx.cs" Inherits="UserControls_CustomAutoCompleteTextBox" ClientIDMode="Static" %>
<asp:TextBox ID="AutoCompleteTextBox" runat="server" />
网页设备Move上的实现
<%@ Page Language="C#" MasterPageFile="~/SiteMasterPage.master" AutoEventWireup="true" CodeFile="EquipmentMove.aspx.cs" Inherits="Equipment_EquipmentMove" %>
<Custom:AutoCompleteTextBox runat="server" ID="HardwareSNTextBox1"
OnCloseFunction="TestOnClosefunction"
OnFocusFunction="testme"
OnKeyUpFunction="EquipmentSearchCheckHardwareSNLength"
PostbackURL="EquipmentMove.aspx/HardwareSNAutoComplete"
SpellCheck="false" />
在运行时 Custom:AutoCompleteTextBox 控件的客户端 ID 变为“HardwareSNTextBox1_AutoCompleteTextBox”。结果标记:
<input name="ctl00$cpBody$HardwareSNTextBox1$AutoCompleteTextBox" type="text" id="ctl00_cpBody_HardwareSNTextBox1_AutoCompleteTextBox" class="ui-autocomplete-input" autocomplete="off">
如果我想在 EquipmentMove 网页上编写一个名为“TestOnClosefunction”的 javascript ,并且我想访问此控件,但使用它最初输入的 ID 为“HardwareSNTextBox1”而不是“HardwareSNTextBox1_AutoCompleteTextBox”,这是否可能?
编辑:我想如果使用此自定义 Web 控件的开发人员在编写他们的 js 时检查实际 ID 的标记,那么这可能会起作用。虽然不是很直观。