C# 当同一页面中存在两个自动完成文本框时,ajax自动完成文本框不起作用
我有一个页面,其中180项需要搜索1个文本框,200项需要搜索第2个文本框。自动完成在第一个文本框中运行良好,并且没有为第二个文本框提供自动完成选项。这是我的代码C# 当同一页面中存在两个自动完成文本框时,ajax自动完成文本框不起作用,c#,sql-server-2008,asp.net-ajax,C#,Sql Server 2008,Asp.net Ajax,我有一个页面,其中180项需要搜索1个文本框,200项需要搜索第2个文本框。自动完成在第一个文本框中运行良好,并且没有为第二个文本框提供自动完成选项。这是我的代码 <td> <asp:TextBox ID="TB_DeptID" runat="server"></asp:TextBox> <asp:AutoCompleteExtender
<td>
<asp:TextBox ID="TB_DeptID" runat="server"></asp:TextBox>
<asp:AutoCompleteExtender
runat="server"
ID="AC_Dept"
TargetControlID="TB_DeptID"
CompletionListElementID="divwidth"
MinimumPrefixLength="1"
CompletionInterval="10"
EnableCaching="true"
CompletionSetCount="12"
ServiceMethod="GetDept" ></asp:AutoCompleteExtender>
</td>
<td>
<asp:TextBox ID="TB_chargeHdId" runat="server"></asp:TextBox>
<asp:AutoCompleteExtender
runat="server"
ID="CH_autocomplete"
TargetControlID="TB_chargeHdId"
CompletionListElementID="divwidth"
MinimumPrefixLength="1"
CompletionInterval="10"
EnableCaching="true"
CompletionSetCount="12"
ServiceMethod="GetchrgHd_Id"></asp:AutoCompleteExtender>
</td>
在代码背后
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> GetchrgHd_Id(string prefixText)
{
DataTable dt = new DataTable();
string constr = ConfigurationManager.ConnectionStrings["ConStr"].ToString();
SqlConnection con = new SqlConnection(constr);
con.Open();
// select custaddress1 from tblcustomer
SqlCommand cmd = new SqlCommand("select top 10 Charge_Head_Id from Charge_Head_M where Charge_Head_Id like '" + prefixText + "'+'%'", con);
//cmd.Parameters.AddWithValue("@itemname_code", prefixText);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(dt);
List<string> custaddress1 = new List<string>();
for (int i = 0; i < dt.Rows.Count; i++)
{
custaddress1.Add(dt.Rows[i]["Charge_Head_Id"].ToString());
}
return custaddress1;
}
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> GetDept(string prefixText1)
{
DataTable dt1 = new DataTable();
string constr = ConfigurationManager.ConnectionStrings["ConStr"].ToString();
SqlConnection con = new SqlConnection(constr);
con.Open();
// select custaddress1 from tblcustomer
SqlCommand cmd = new SqlCommand("select top 10 Dept_Id from Department_M where Dept_Id like '" + prefixText1 + "'+'%'", con);
//cmd.Parameters.AddWithValue("@itemname_code", prefixText);
SqlDataAdapter adp1 = new SqlDataAdapter(cmd);
adp1.Fill(dt1);
List<string> custaddress2 = new List<string>();
for (int j = 0; j < dt1.Rows.Count; j++)
{
custaddress2.Add(dt1.Rows[j]["Dept_Id"].ToString());
}
return custaddress2;
}
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
公共静态列表GetchrgHd_Id(字符串前缀)
{
DataTable dt=新的DataTable();
string constr=ConfigurationManager.ConnectionString[“constr”].ToString();
SqlConnection con=新的SqlConnection(cont);
con.Open();
//从tblcustomer中选择custaddress1
SqlCommand cmd=new SqlCommand(“从Charge_Head_M中选择前10个Charge_Head_Id,其中Charge_Head_Id类似于“+prefixText+”++“%”,con);
//cmd.Parameters.AddWithValue(“@itemname\u code”,前缀文本);
SqlDataAdapter adp=新的SqlDataAdapter(cmd);
自动进料(dt);
List custaddress1=新列表();
对于(int i=0;i
如何解决此问题???在
getdept
方法中将prefixtext1
更改为prefixtext