这是我第一次在 ASP.NET 中写东西 :)
我写了一些包含按钮和面板的控件。当按下按钮时 - 一些动作(委托)被调用 ==> 这个动作调用一些 Web 服务(使用 Task 的异步调用),当我从 Web 服务获得响应时,我调用回调方法,根据 Web 服务回答我更改面板的背面颜色。
但即使我在回调的断点处停止(控件的颜色变化) - 我也没有看到面板背景颜色发生变化。
我尝试从浏览器更改它 - 我成功地更改它我还能够从 ASP 设计页面更改颜色。
我不知道为什么面板颜色没有改变。我该如何解决?
控制码==>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TrafficLights.ascx.cs" Inherits="Control1" %>
<asp:Label ID="Label1" runat="server" Width="131px" Height="40px"
CssClass="Site.css" style="margin: 10px" Font-Underline="True" />
<asp:Panel Height="10" runat="server" />
<asp:Panel ID="Panel1" runat="server" Height="80px" Width="180px" HorizontalAlign="Center"/>
<asp:Button ID=ActionButton CssClass="Site.css" runat="server"
BackColor="Azure" Width="120px" Heigh="40px" Text="Action" style="margin-left: 30px; height: 26px;" onclick="ActionButton_Click" />
public enum Color_
{
Red,
Yellow,
Green
};
public Color_ Color_A
{
set
{
switch( value )
{
case Color_.Red:
{
Panel1.BackColor = Color.Red;
}
break;
case Color_.Yellow:
{
Panel1.BackColor = Color.Yellow;
}
break;
case Color_.Green:
{
Panel1.BackColor = Color.Green;
}
break;
}
}
}
protected void ActionButton_Click( object sender, EventArgs e )
{
if( actionOnButtonClickEvent != null )
{
actionOnButtonClickEvent.Invoke();
}
}