c# - 当我从下拉列表中选择项目时出现下拉选择错误

标签 c# asp.net

<分区>

当我运行我的代码时,它发送了错误,即对象引用未设置为下拉列表 4 中对象的实例。

下拉选择错误

Object reference not set to an instance of an object.

当我从下拉列表中选择项目时

在此先感谢您的帮助

下面是我的代码

 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));


     } }}
    }

最佳答案

按照上面的代码,您正在清除 dropdownlist4 中的项目,如下所示

DropDownList4.Items.Clear();

然后经过几行代码,得到下拉列表的选中值

selected5 = DropDownList4.SelectedItem.Value;

上面一行是导致问题的原因。没有可供选择的项目,但您正在选择一个项目。 请删除 Items.Clear() 并检查一次。

关于c# - 当我从下拉列表中选择项目时出现下拉选择错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34013170/

相关文章:

c# - 如何设置下拉列表DataTextField显示两个数据属性字段?

c# - Azure Functions CloudQueue AddMessageAsync QueueRequestOptions LinearRetryPolicy 不执行任何操作

c# - 如何在不丢失完整性的情况下在 string 和 byte[] 之间进行转换

带字符串键的 C# 迭代器

asp.net - 用于错误处理和丢失图像的 HttpModule

c# - 使用电子邮件地址作为 loginID 登录到 asp.net 应用程序

C# Windows 窗体 : How to capture Capture Function, 箭头和导航键

c# - XNA(C#) 中的 Vector2.Transform() 和 Vector2.TransformNormal() 有什么区别

c# - 使用 StringBuilder 编写 XML 可以吗?

c# - 如何在没有任何引用的情况下创建类对象的副本?