在 ASP.NET 3.5 中转换 gridview 中的文本框控件时出错

问题描述 投票:0回答:1

我有一个非常简单的命令,我只是在网格视图的页脚中找到文本框,并根据它的值我分配一些值。

if (!string.IsNullOrWhiteSpace(((TextBox)gvSession.FooterRow.FindControl("tbSessionAdd")).Text))
                OnlinePlatform = "ZoomMeeting";

错误是:

编译器错误消息:CS0030:无法将类型“System.Web.UI.Control”转换为“TextBox”

该网站在另一台服务器上运行正常,但在本地服务器上出现此错误。所以我觉得这个问题可能与其他一些设置有关。因此,任何想法或建议将不胜感激。

如果我注释掉这部分,它也会在前景色和工具提示上出现错误。

像这样:

if (!IsValidSessionTime(startTime, endTime, out message))
        {
            tbStartTimeAdd.BackColor = Color.Red;
            tbStartTimeAdd.ToolTip = message;
        }

有错误信息

编译器错误消息:CS1061:“TextBox”不包含“BackColor”的定义,并且找不到接受“TextBox”类型的第一个参数的扩展方法“BackColor”(您是否缺少 using 指令或程序集引用? )

c# asp.net gridview textbox findcontrol
1个回答
0
投票

您的项目中是否有winforms参考(不是Web表单,而是winforms)。

这样说:

Using System.Windows.Forms

因此,最好的猜测是您对 Windows 程序或 Windows.Forms 有一些引用,这不仅会导致冲突,还会导致 TextBox 类型不正确。

所以,我会检查一下您这里是否有一些不正确的参考。

也许编辑您的问题,并在代码块的开头包含“using”语句列表,并删除对 Windows 窗体的任何杂散引用。

也有可能您在 GridView 中没有使用 ASP.NET TextBox,而可能使用标准 HTML 文本框。

© www.soinside.com 2019 - 2024. All rights reserved.