C# 如何基于另一个textbox值在textbox中下拉相关数据
在我的项目中,有一个或多个地址代码被分配给特定的客户名称。 我有一个文本框,里面有客户的名字。当我选择使用AutoCompleteXtender填充的特定客户名称时。然后我想在下一个文本框中显示与该客户名称相关的地址代码 下面是select Customer的代码,它工作正常C# 如何基于另一个textbox值在textbox中下拉相关数据,c#,asp.net,autocompleteextender,C#,Asp.net,Autocompleteextender,在我的项目中,有一个或多个地址代码被分配给特定的客户名称。 我有一个文本框,里面有客户的名字。当我选择使用AutoCompleteXtender填充的特定客户名称时。然后我想在下一个文本框中显示与该客户名称相关的地址代码 下面是select Customer的代码,它工作正常 [System.Web.Script.Services.ScriptMethod()] [System.Web.Services.WebMethod] public static List<string> Se
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> SearchCustomers(string prefixText, int count)
{
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = dbConnection.fnConnectionString();
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = " SELECT CustomerCode,CustomerName FROM tblCustomer where " +
"CustomerName like @SearchText + '%'";
cmd.Parameters.AddWithValue("@SearchText", prefixText);
cmd.Connection = conn;
conn.Open();
List<string> customers = new List<string>();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
String Code = sdr["CustomerCode"].ToString();
String Name = sdr["CustomerName"].ToString();
Name = Name + " ("+Code + ")";
customers.Add(Name);
}
}
conn.Close();
return customers;
}
}
}
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
公共静态列表SearchCustomers(字符串前缀、整数计数)
{
使用(SqlConnection conn=newsqlconnection())
{
conn.ConnectionString=dbConnection.fnConnectionString();
使用(SqlCommand cmd=new SqlCommand())
{
cmd.CommandText=“从tblCustomer where中选择CustomerCode、CustomerName”+
“类似于CustomerName的@SearchText+'%'”;
cmd.Parameters.AddWithValue(“@SearchText”,prefixText);
cmd.Connection=conn;
conn.Open();
列出客户=新列表();
使用(SqlDataReader sdr=cmd.ExecuteReader())
{
while(sdr.Read())
{
字符串代码=sdr[“CustomerCode”].ToString();
字符串名称=sdr[“CustomerName”].ToString();
名称=名称+”(“+代码+”);
客户。添加(名称);
}
}
康涅狄格州关闭();
返回客户;
}
}
}
下面是在另一个文本框中显示Addresscode的代码。该文本框不工作
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> SearchAddress(string prefixText, int count)
{
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = dbConnection.fnConnectionString();
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "select Addresscode from BName_Addresscode where Addresscode like '" + prefixText + "%' ";
cmd.Parameters.AddWithValue("@SearchText", prefixText);
cmd.Connection = conn;
conn.Open();
List<string> customers1 = new List<string>();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
// String Code = sdr["City"].ToString();
String Name = sdr["Addresscode"].ToString();
// Name = Code + "(" + Name + ")";
customers1.Add(Name);
}
}
conn.Close();
return customers1;
}
}
}
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
公共静态列表搜索地址(字符串前缀文本,整数计数)
{
使用(SqlConnection conn=newsqlconnection())
{
conn.ConnectionString=dbConnection.fnConnectionString();
使用(SqlCommand cmd=new SqlCommand())
{
cmd.CommandText=“从BName_Addresscode中选择Addresscode,其中Addresscode类似于“'+prefixText+“%””;
cmd.Parameters.AddWithValue(“@SearchText”,prefixText);
cmd.Connection=conn;
conn.Open();
列表客户1=新列表();
使用(SqlDataReader sdr=cmd.ExecuteReader())
{
while(sdr.Read())
{
//字符串代码=sdr[“城市”]。ToString();
字符串名称=sdr[“Addresscode”].ToString();
//名称=代码+”(“+Name+”);
客户1.添加(姓名);
}
}
康涅狄格州关闭();
退货客户1;
}
}
}
该参数实际上不起任何作用,并且您的代码已打开以进行sql注入
您从tblCustomer中选择的第一部分是正确的
改变你以前使用的方式,它应该能正常工作
cmd.CommandText = "select Addresscode from BName_Addresscode where Addresscode like '@SearchText%' ";
cmd.Parameters.AddWithValue("@SearchText", prefixText);
您面临的问题/错误是什么?我没有得到与该CustomerName相关的Addresscode您是否尝试过像在第一个方法中那样更改查询以包含参数?因此
cmd.CommandText=“从BName_Addresscode中选择Addresscode,其中Addresscode如@SearchText+'%'”代码>是的,我试过了,但仍然没有得到输出如果你一步一步地看代码,sdr
有行吗?@Kalpesh前缀是什么?您是否在String Name=sdr[“Addresscode”]中获得任何记录代码>?@H-mikhaeljan不显示特定客户的地址代码,而是显示来自的所有地址代码database@Kalpesh如果您使用%,它将为您提供以前缀开头的结果,并且前缀后面可以有任何内容。如果必须与前缀完全匹配,则@SearchText
不带%