0

这是我第一次在 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();
        }
    }
4

0 回答 0