gpt4 book ai didi

c# - 是否有一个强制转换可以让我动态设置控件类型,而不是为每个控件类型创建 if() ?

转载 作者:行者123 更新时间:2023-12-02 14:45:45 24 4
gpt4 key购买 nike

我正在迭代此网页上的控件,当按下按钮来修改一段数据时,我将禁用页面上的其他控件。此类控件由文本框、列表框和按钮组成。所有这些控件都具有 Enable 属性,因此我想知道是否有一种方法可以将控件强制转换为某种通用数据类型并将其属性设置为启用。

protected void DisableSQRcontrols( Control Page )
{
foreach ( Control ctrl in Page.Controls )
if ( ctrl is TextBox )
((TextBox)ctrl).Enabled = false;
else if ( ctrl is Button )
((Button)ctrl).Enabled = false;
else if ( ctrl is ListBox )
((ListBox)ctrl).Enabled = false;
else if ( ctrl.Controls.Count > 0 )
DisableSQRcontrols( ctrl );
}

我想将顶部更改为类似的内容

protected void DisableSQRcontrols( Control Page )
{
foreach ( Control ctrl in Page.Controls )
if ( ( ctrl is TextBox ) ||
( ctrl is Button ) ||
( ctrl is ListBox ) )
((UniversalControlCast)ctrl).Enabled = false;
else if ( ctrl.Controls.Count > 0 )
DisableSQRcontrols( ctrl );
}

最佳答案

是的,大部分都是继承自WebControl,比如:

System.Web.UI.WebControls.BaseDataBoundControl
System.Web.UI.WebControls.BaseDataList
System.Web.UI.WebControls.Button
System.Web.UI.WebControls.Calendar
System.Web.UI.WebControls.CheckBox
System.Web.UI.WebControls.CompositeControl
System.Web.UI.WebControls.DataListItem
System.Web.UI.WebControls.FileUpload
System.Web.UI.WebControls.HyperLink
System.Web.UI.WebControls.Image
System.Web.UI.WebControls.Label
System.Web.UI.WebControls.LinkButton
System.Web.UI.WebControls.LoginName
System.Web.UI.WebControls.Panel
System.Web.UI.WebControls.SiteMapNodeItem
System.Web.UI.WebControls.Table
System.Web.UI.WebControls.TableCell
System.Web.UI.WebControls.TableRow
System.Web.UI.WebControls.TextBox
System.Web.UI.WebControls.ValidationSummary

关于c# - 是否有一个强制转换可以让我动态设置控件类型,而不是为每个控件类型创建 if() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2179436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com