【问题标题】:Override ToString of a Null Object? C# asp.net覆盖空对象的 ToString? C# asp.net
【发布时间】:2017-10-13 02:24:04
【问题描述】:

我有一个说 People 的 List,人们有一个 Thought 对象的实例,我在网格视图中显示 People,People 类的每个变量有一列,Thoughts 有一列,它显示了 Thought 的类 Tostring Override,当我删除一个想法时,如果它被任何给定的“人”使用它会将人们的想法设置为“空”,但是当我尝试从数据库(ADO.NET)中检索该“空”时,我得到一个错误(我认为 atm 无关紧要),如何在已删除想法的 People 的网格视图上显示“NULL”?

编辑: 这是我用来保存数据集的方法:

        public List<People> PeopleList()
        {
            ControllerClass cont = new ControllerClass();
            List<People> list = new List<People>();
            string strSQL = "SELECT * FROM People";
            DataSet data = Select(strSQL);
            if (data.Tables[0].Rows.Count > 0)
            {
                foreach (DataRow Row in data.Tables[0].Rows)
                {
                    People p = new People();
                    p.IdPeople= Convert.ToInt32(Row.ItemArray[0].ToString());
                    p.NamePeople= Row.ItemArray[1].ToString();
                    p.ThoughtPeople= cont.SearchThought(Convert.ToInt32(Row.ItemArray[3].ToString()));
                    list.Add(p);
                }
            }
            return list;
        }

我使用一种方法来搜索想法,因为我将想法的 ID 保存为外键

【问题讨论】:

  • 您如何在网格视图中显示价值?请分享您的相关代码!
  • 我只是使用 List 作为数据源
  • @AkashKC 我添加了一些可能有用的代码,而不是您要求的代码
  • 这个怎么样? var thought = cont.SearchThought(Convert.ToInt32(Row.ItemArray[3];p.ThoughtPeople= thought != null ? though.ToString() : "NULL"

标签: c# asp.net gridview ado.net


【解决方案1】:

像这样处理

p.NamePeople= Row.ItemArray[1] == DBNull.Value ? "NULL" : Row.ItemArray[1].ToString():

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 2012-10-13
    相关资源
    最近更新 更多