gpt4 book ai didi

c# - 无法将类型为 'ASP.site_master' 的对象转换为类型 'System.Web.UI.WebControls.Button'。在 asp.net 中

转载 作者:行者123 更新时间:2023-11-30 17:13:59 25 4
gpt4 key购买 nike

我刚刚创建了十个按钮和最后两个名为 btn_green 和 btn_red 的按钮。

我想在单击绿色和红色按钮时将所有按钮颜色更改为绿色和红色。

我的C#代码是

protected void btn_green_Click(object sender, EventArgs e)
{
foreach (Button btn in this.Controls)
{
btn.BackColor = Color.DarkGreen;
}
}

protected void btn_red_Click(object sender, EventArgs e)
{
foreach (Button btn in this.Controls)
{
btn.BackColor = Color.Red;
}
}

不过我运气不错,我只得到了错误

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidCastException: Unable to cast object of type 'ASP.site_master' to type 'System.Web.UI.WebControls.Button'.

Line 20:             foreach (Button btn in this.Controls)

我如何避免这个问题?

最佳答案

foreach (Button btn in this.Controls)

返回页面中的所有控件,而不仅仅是按钮。在访问它之前,您需要将其转换为按钮或尝试其类型。

foreach (Control control in Controls)
{
var btn = control as Button;
if (btn != null)
{
...
}
}

关于c# - 无法将类型为 'ASP.site_master' 的对象转换为类型 'System.Web.UI.WebControls.Button'。在 asp.net 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208145/

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