c# - 如何在 gridview 行中查找所有文本框?

标签 c# asp.net gridview webforms controls

我在网站上有一个 GridView,每一行都有不同的控件(例如:文本框、标签、下拉列表)。我需要找到所有文本框并将 enabled 属性设置为 false,这样用户将无法编辑它们。我尝试了下面的代码,但它不起作用,'c' 从未被识别为文本框,因此它永远不会更改属性。

protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if (a)
    {
        foreach (Control c in e.Row.Controls)
        {
            if (c is TextBox)
            {
                ((TextBox)(c)).Enabled = false;
            }
        }
    }
}

最佳答案

我认为你应该这样尝试:

TextBox tb = e.Row.FindControl("textbox_name") as TextBox;
tb.Enabled = false;

关于c# - 如何在 gridview 行中查找所有文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43606222/

相关文章:

c# - 属性更改时的 WPF 调用方法

c# - 处理多个配置文件实例的最佳方式?

javascript - 如何从轮播中获取id并显示特定图像的信息?

asp.net - 在ASP.Net应用程序中实现通用错误处理的简便方法

asp.net - 如何更改asp悬停时的背景图像:CommandField in a Gridview

wpf - 更改 ListView 中 GridView 行的背景颜色

c# - 边框内的按钮

c# - 从 MVC Controller 返回 FileStreamResult 时文件大小变为零

jQuery 下拉列表

java - 构建 Android 启动器