Dzwebs.Net

撰写电脑技术杂文十余年

多个Panel对象不能通过ID调用修改其属性

Admin | 2014-3-25 8:56:51 | 被阅次数 | 4088

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  问题是这样的:假如你的页面中,有好几个Panel对象,譬如为:

  Panel1、Panel2、Panel3……PanelN,此时,想通过循环语句来调用这些Panel对象,给它们动态添加内容,想通过如下的方法来尝试,那么,是不成功的。

  for (int i = 1; i <=N; i++)
        {

   Panel MyPanels = new Panel();

   MyPanels.ID= "P" + i.ToString();

   MyPanels.Controls.Add(new LiteralControl("动态添加内容为:大众计算机"));

  }

  上面的代码,没有任何问题,不出现任何异常,是通过构造一个临时的MyPanels,然后通过将其ID设置成为固定的那几个Panel的ID,试图通过MyPanels调用固定的Panel来动态添加内容。

  但是事实的结果是,即不出异常,也没成功动态添加内容。

  当然,原因很简单,那就是

  Panel MyPanels = new Panel();

  MyPanels.ID= "P" + i.ToString();

  上面这两个语句没起到任何作用,那要如何解决问题呢?当然,换一种思路即可。代码如下:

  for (int i = 1; i <=N; i++)
        {

   Panel MyPanels = (Panel)FindControl("P"+i.ToString().Trim());

   MyPanels.Controls.Add(new LiteralControl("动态添加内容为:大众计算机"));

  }

  所以呢,解决问题的办法不是通过ID,而是通过FindControl属性。我就是被这个问题困扰了几个小时,方明白其中的道理。


该杂文来自: 网站开发杂文

上一篇:c#读写ini文件的知识介绍

下一篇:从客户端(editorValue="

1

")中检测到有潜在

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计