Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 列表中的控件与原始控件不相等_C#_Asp.net_List - Fatal编程技术网

C# 列表中的控件与原始控件不相等

C# 列表中的控件与原始控件不相等,c#,asp.net,list,C#,Asp.net,List,因此,我创建了一个listpanelList,并插入了10个面板控件,这些控件已经在aspx设计页面上创建。。但是,当我尝试检查panelList[0]是否与Panel1(我在panelList中添加的第一个面板)是同一个面板时,返回FALSE。。。知道为什么吗?这是我的密码 你应该考虑如何比较C中的2个对象, 有一些方法可以实现这一点 使生效 序列化两个对象,然后将它们作为字符串结果进行比较 顺便说一句,链接对您很有帮助。在添加到列表和检查是否等于之间,您对Panel1所做的任何操作?Pane

因此,我创建了一个listpanelList,并插入了10个面板控件,这些控件已经在aspx设计页面上创建。。但是,当我尝试检查panelList[0]是否与Panel1(我在panelList中添加的第一个面板)是同一个面板时,返回FALSE。。。知道为什么吗?这是我的密码

<>你应该考虑如何比较C中的2个对象, 有一些方法可以实现这一点

使生效 序列化两个对象,然后将它们作为字符串结果进行比较
顺便说一句,链接对您很有帮助。

在添加到列表和检查是否等于之间,您对Panel1所做的任何操作?Panel1是从aspx布局中获得的:这意味着在回发后单击AddQuestionButton后,控件将从表单数据中恢复,并且它与添加到静态列表的对象不同。对于不同的对象引用,Equals行为可能以不同的方式实现。@GertjanBrouwer不,我只通过了一个循环,使所有面板都不可见。。我是否可以使Equals比较变为真@OlegBondarenko@SandroRamirez您可以比较Id属性,它们对于每个aspx控件都是唯一的。
 static List<Panel> panelList = new List<Panel>();
 protected void Page_Load(object sender, EventArgs e)
 {
 if (!IsPostBack) 
        {
            panelList.Add(Panel1);
            panelList.Add(Panel2);
            panelList.Add(Panel3);
            panelList.Add(Panel4);
            panelList.Add(Panel5);
            panelList.Add(Panel6);
            panelList.Add(Panel7);
            panelList.Add(Panel8);
            panelList.Add(Panel9);
            panelList.Add(Panel10);
         } 
  }  

   protected void AddQuestionButton_Click(object sender, EventArgs e)
      {    
       Debug.WriteLine(panelList[0].Equals(Panel1));
      // here i get returned false in the debug output
      }