1

问题很简单,我有控件的 ID,我想在某些事件中显示/隐藏它们。

实际上问题是我有一个关于下拉更改的直接事件我必须根据某些情况隐藏一些控件

直接事件的代码是 foreach (Control oControl in ProductConfiguration.Controls) { string strName = oControl.GetType().Name; oControl.Visible = false;DataRow[] drIRows = dtInfo.Select("ControlId='" + oControl.ID + "' AND ProductGroupId='" + CboProductGroup.Value + "'");

        if (drIRows.Length > 0)
            oControl.Visible = true;
    }

但是可见属性不适用于直接事件,所以我的想法是改用javascript,任何人都可以帮忙。

4

2 回答 2

1

渲染到页面后,不能修改可见性,因为“可见”属性是指客户端是否接收到能够将其放置在屏幕上的对象。

如果您想动态更改它,我建议做两件事。

  1. 在页面上使用 Hidden="true" 而不是 Visible="false"
  2. 更改后面的代码以影响 Hidden 属性:oControl.Hidden=false;

如果您使用 Hidden 属性,客户端仍然会收到要呈现的控件(如果设置为 true,它根本不会显示),然后可以很容易地对其进行更改。

于 2013-12-12T16:01:38.930 回答
0

请改用 Hidden 属性。

此处解释了不同之处。

您也可以使用显示/隐藏方法。

于 2013-08-01T09:10:25.940 回答