C#--无法隐式转换类型';System.Web.UI.Control';至';System.Web.UI.WebControls.CheckBox'; int p=0; int q=0; p=0; q=0; 字符串username=null; 用户名=会话[“用户”]; int-total=0; 对于(total=1;total
这是因为您试图将父类(C#--无法隐式转换类型';System.Web.UI.Control';至';System.Web.UI.WebControls.CheckBox'; int p=0; int q=0; p=0; q=0; 字符串username=null; 用户名=会话[“用户”]; int-total=0; 对于(total=1;total,c#,asp.net,webforms,C#,Asp.net,Webforms,这是因为您试图将父类(System.Web.UI.Control)设置为子类(System.Web.UI.WebControls.CheckBox): 使用关键字作为正确分配: ch = Page.FindControl("C" + total); 请注意,如果System.Web.UI.Control不是System.Web.UI.WebControls.CheckBox类型,则可能会得到null,声明“CheckBox ch=new CheckBox();”看起来很奇怪在for循环内部。请
System.Web.UI.Control
)设置为子类(System.Web.UI.WebControls.CheckBox
):
使用关键字作为
正确分配:
ch = Page.FindControl("C" + total);
请注意,如果
System.Web.UI.Control
不是System.Web.UI.WebControls.CheckBox类型,则可能会得到null
,声明“CheckBox ch=new CheckBox();”看起来很奇怪在for循环内部。请尝试在for循环之前声明它。我可能错了…我尝试了此操作,但现在发现一个类型或命名空间名称为“WebControl”的错误,无法找到(您是否缺少using指令或程序集引用?)即使我的文件顶部有“using System.Web.UI.WebControls;”。@user808317如果您已经有使用System.Web.UI.WebControls
,那么您就不需要了。只需将用作复选框
,也就是说,要更加小心查找
,因为如果有其他名为st的控件
使用C
而不使用复选框
你会得到null
异常,如果你不过滤掉它/处理null
ch
@user808317你在使用WebForms
吗?现在没事了!:))非常感谢你的帮助HELP@user808317太好了……:)
ch = Page.FindControl("C" + total);
ch = Page.FindControl("C" + total) as CheckBox;