如何启用/禁用 ASP.NET 表单/控件

发布于 2024-08-11 06:47:57 字数 276 浏览 4 评论 0原文

如何从代码隐藏中选择性或完全启用/禁用 ASP.NET 表单/控件?

以下代码不起作用。因为在这种情况下没有 Enabled 属性。

public static void Disable(Page container)
{
    for (int i = 0; i < container.Controls.Count; i++)
    {
        container.Form.Controls[i].Enabled = false;
    }
}

How can I enable/disable an asp.net form/controls selectively or entirely from code-behind?

The following code is not working. Coz there is no Enabled property in this case.

public static void Disable(Page container)
{
    for (int i = 0; i < container.Controls.Count; i++)
    {
        container.Form.Controls[i].Enabled = false;
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仅此而已 2024-08-18 06:47:57

仅从 WebControl 继承的控件将有一个 Enabled 属性。所以你可以在循环中做这样的事情:

var webControl = container.Form.Controls[i] as WebControl;
if(webControl != null) {
    webControl.Enabled=false;
}

Only the controls that inherit from WebControl will have a Enabled property. So you could do something like this inside your loop:

var webControl = container.Form.Controls[i] as WebControl;
if(webControl != null) {
    webControl.Enabled=false;
}
誰ツ都不明白 2024-08-18 06:47:57

您可以使用 可见而不是启用。 ASP.NET 框架不会调用 Visible 属性设置为 false 的控件的 Render 方法。

从文档中:

如果此属性为 false,则不会呈现服务器控件。在组织页面布局时应考虑到这一点。

You may use Visible instead of Enabled. The ASP.NET framework will not call the Render method of controls for which the Visible property is set to false.

From the documentation:

If this property is false, the server control is not rendered. You should take this into account when organizing the layout of your page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文