C# 从下拉列表中选择项目时出现下拉选择错误
当我运行代码时,它会发送一个错误,即对象引用未设置为下拉列表4中对象的实例 下拉选择错误 对象引用未设置为对象的实例 当我从下拉列表中选择项目时 提前感谢,请帮助plz 这是我的密码C# 从下拉列表中选择项目时出现下拉选择错误,c#,asp.net,C#,Asp.net,当我运行代码时,它会发送一个错误,即对象引用未设置为下拉列表4中对象的实例 下拉选择错误 对象引用未设置为对象的实例 当我从下拉列表中选择项目时 提前感谢,请帮助plz 这是我的密码 protected void LoadOptions4() { DropDownList4.Items.Clear(); // DropDownList4 dr = new DropDownList4();
protected void LoadOptions4()
{
DropDownList4.Items.Clear();
// DropDownList4 dr = new DropDownList4();
DataTable CardCode = new DataTable();
// string name2;
// string id, name, newName;
SqlConnection connection = new SqlConnection("Data Source=1.2.3.4;Initial Catalog=TestData;Persist Security Info=True;User ID=abcd;Password=abcd12345");
using (connection)
{
// string selected4 = DropDownList3.SelectedItem.Value;
//SqlCommand theCommand = new SqlCommand("SELECT T1.CardCode , T1.CardName, T2.OpprId, T1.CntctPrsn,T2.CprCode,T3.CntctCode,T3.Name FROM OCRD T1 left join OOPR T2 on T1.CardCode=T2.CardCode left join OCPR T3 on T2.CprCode=T3.CntctCode where T1.CardCode=@CardCode ", connection);
SqlCommand theCommand = new SqlCommand("select SlpCode,SlpName from OSLP where SlpCode=@SlpCode and SlpCode<>-1 ", connection);
// SqlDataAdapter adapter = new SqlDataAdapter("SELECT T1.CardCode , T1.CardName, T2.OpprId,T1.CntctPrsn, T2.CprCode,T2.MaxSumLoc FROM OCRD T1 left join OOPR T2 on T1.CardCode=T2.CardCode where T1.CardCode=@selected", connection);
// SqlDataAdapter adapter = new SqlDataAdapter("SELECT T1.CardCode , T1.CardName, T2.OpprId,T1.CntctPrsn, T2.CprCode,T2.MaxSumLoc FROM OCRD T1 left join OOPR T2 on T1.CardCode=T2.CardCode where T1.CardCode=@selected", connection);
string selected5;
selected5 = DropDownList4.SelectedItem.Value;
theCommand.Parameters.AddWithValue("@SlpCode", selected5);
SqlDataAdapter adapter = new SqlDataAdapter(theCommand);
//DataSet ds = new DataSet();
adapter.Fill(CardCode);
//name2 = id;
if (CardCode.Rows.Count > 0)
{
for (int i = 0; i < CardCode.Rows.Count; i++)
{
string name3 = CardCode.Rows[i]["SlpName"].ToString();
string slpCode = CardCode.Rows[i]["SlpCode"].ToString();
// string newName2 = contcode + " ---- " + name2;
DropDownList3.Items.Add(new ListItem(name3, slpCode));
} }}
}
根据上面的代码,您正在从DropDownList 4中清除项目,如下所示
DropDownList4.Items.Clear();
然后经过几行代码,得到dropdownlist的选定值
selected5 = DropDownList4.SelectedItem.Value;
上面的行导致了问题。没有要选择的项目,但您正在选择一个项目。
请删除项目。清除并检查一次。根据上面的代码,您正在从DropDownList 4中清除项目,如下所示
DropDownList4.Items.Clear();
DropDownList4.Items.Clear(); remove this line from the top ,
然后经过几行代码,得到dropdownlist的选定值
selected5 = DropDownList4.SelectedItem.Value;
上面的行导致了问题。没有要选择的项目,但您正在选择一个项目。
请删除项目。清除并检查一次
DropDownList4.Items.Clear(); remove this line from the top ,
在第一行中,您正在清除DropDownList4中的数据,并准备调用它
selected5 = DropDownList4.SelectedItem.Value;
因此,请尝试将其数据源加载到函数中的DropDownlost4
在第一行中,您正在清除DropDownList4中的数据,并准备调用它
selected5 = DropDownList4.SelectedItem.Value;
因此,请尝试将其数据源加载到函数中的DropDownlost4
在这里,函数名为LoadOptions4和DropDownList3
人口正在增加。这毫无意义。根据你的片段
给定,您正在填充DropDownList3,因此必须清除
DropDownList3代替了DropDownList4
因此,您的方法签名如下所示:
protected void LoadOptions3()
{
DropDownList3.Items.Clear();
string selected5;
selected5 = DropDownList4.SelectedItem.Value;
//perform db operations
//loop through values
DropDownList3.Items.Add(new ListItem(name3, slpCode));
}
在这里,函数名为LoadOptions4和DropDownList3
人口正在增加。这毫无意义。根据你的片段
给定,您正在填充DropDownList3,因此必须清除
DropDownList3代替了DropDownList4
因此,您的方法签名如下所示:
protected void LoadOptions3()
{
DropDownList3.Items.Clear();
string selected5;
selected5 = DropDownList4.SelectedItem.Value;
//perform db operations
//loop through values
DropDownList3.Items.Add(new ListItem(name3, slpCode));
}
放置填充下拉列表4的代码?因为您正在清除下拉列表,然后访问SelectedItem的值。我想你的意思是清除DropDownList3而不是DropDownList4。@史蒂夫,这不是重复的。您的链接解释了什么是空引用异常。在N个不同场景下,可能会导致N个时间。就像OP的代码一样。@nvartak空引用异常的问题是,如果不实际执行代码,很难从文本进行调试。一般情况下,SO无法回答。请输入填充下拉列表的代码4?这是因为您正在清除下拉列表,然后访问SelectedItem的值。我想你的意思是清除DropDownList3而不是DropDownList4。@史蒂夫,这不是重复的。您的链接解释了什么是空引用异常。在N个不同场景下,可能会导致N个时间。就像OP的代码一样。@nvartak空引用异常的问题是,如果不实际执行代码,很难从文本进行调试。一般来说,SO无法回答。