我有一个非常简单的命令,我只是在网格视图的页脚中找到文本框,并根据它的值我分配一些值。
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 指令或程序集引用? )
您的项目中是否有winforms参考(不是Web表单,而是winforms)。
这样说:
Using System.Windows.Forms
因此,最好的猜测是您对 Windows 程序或 Windows.Forms 有一些引用,这不仅会导致冲突,还会导致 TextBox 类型不正确。
所以,我会检查一下您这里是否有一些不正确的参考。
也许编辑您的问题,并在代码块的开头包含“using”语句列表,并删除对 Windows 窗体的任何杂散引用。
也有可能您在 GridView 中没有使用 ASP.NET TextBox,而可能使用标准 HTML 文本框。