C# 更改占位符在计时器刻度上的可见性

C# 更改占位符在计时器刻度上的可见性,c#,asp.net,placeholder,C#,Asp.net,Placeholder,我正在编写一个仪表板,它被设置为在电视屏幕上自动运行。我对asp.net(通常是php)相当陌生,所以我有3个占位符,我想在asp计时器上滚动。我试图通过占位符上的可见性属性来实现这一点。我现在很难让它在计时器上实际运行,我想我需要一些方法将值传递回代码,但我不确定如何做到这一点。任何帮助都将不胜感激 注意:onpage\u load工作正常(显示panel1),第一个tick\u事件也工作正常(隐藏panel1并显示panel2),但随后我卡在panel2,页面不会从那里移动 页面 你快到了。

我正在编写一个仪表板,它被设置为在电视屏幕上自动运行。我对asp.net(通常是php)相当陌生,所以我有3个占位符,我想在asp计时器上滚动。我试图通过占位符上的可见性属性来实现这一点。我现在很难让它在计时器上实际运行,我想我需要一些方法将值传递回代码,但我不确定如何做到这一点。任何帮助都将不胜感激

注意:
onpage\u load
工作正常(显示panel1),第一个
tick\u事件也工作正常(隐藏panel1并显示panel2),但随后我卡在panel2,页面不会从那里移动

页面


你快到了。计时器代码和所有功能都正常工作,但请记住,它会在每次计时器启动时引发回发事件,并导致
Page\u OnLoad
方法在
Tmaincontent\u勾选之前启动,从而每次重置面板。基本上,您陷入了一个循环,其中Panel1始终设置为可见,然后Panel2设置为可见,所以它永远不会达到三个

以下是简单的修复方法:

protected void Page_Load(object sender, EventArgs e)
{
    if (Page.IsPostBack)
        return;

    Panel1.Visible = true;
    Panel2.Visible = false;
    Panel3.Visible = false;
}


public void Tmaincontent_Tick(object sender, EventArgs e)
{
    if (Panel1.Visible)
    {
        Panel1.Visible = false;
        Panel2.Visible = true;
        Panel3.Visible = false;
        UPmaincontent.Update();
        return;
    }

    if (Panel2.Visible)
    {
        Panel1.Visible = false;
        Panel2.Visible = false;
        Panel3.Visible = true;
        UPmaincontent.Update();
        return;
    }

    Panel1.Visible = true;
    Panel2.Visible = false;
    Panel3.Visible = false;
    UPmaincontent.Update();

}

我尝试过你的解决方案似乎不起作用(尝试了几种不同的方法),因为我已经能够从页面加载(显示panel1)滚动到滴答事件(隐藏panel1和显示panel2),然后它将停留在panel 2并在那里循环。我将修改我的答案并发布我使用的完整代码。它只是稍微优化了一下,但是它确实对if/else结构做了更改,所以这可能已经做到了。实际上,你的OnTick事件代码还可以(我刚刚测试过)。您将这两行添加到OnLoad事件中,对吗?感谢您的帮助,现在发现有其他内容正在破坏它。
protected void Page_Load(object sender, EventArgs e)
{
    Panel1.Visible = true;
    Panel2.Visible = false;
    Panel3.Visible = false;
}
public void Tmaincontent_Tick(object sender, EventArgs e)
{
    if (Panel1.Visible == true)
    {
        Panel1.Visible = false;
        Panel2.Visible = true;
        Panel3.Visible = false;
        UPmaincontent.Update();
    }
    else if (Panel2.Visible == true)
    {
        Panel1.Visible = false;
        Panel2.Visible = false;
        Panel3.Visible = true;
        UPmaincontent.Update();
    }
    else
    {
        Panel1.Visible = true;
        Panel2.Visible = false;
        Panel3.Visible = false;
        UPmaincontent.Update();
    }
}
protected void Page_Load(object sender, EventArgs e)
{
    if (Page.IsPostBack)
        return;

    Panel1.Visible = true;
    Panel2.Visible = false;
    Panel3.Visible = false;
}


public void Tmaincontent_Tick(object sender, EventArgs e)
{
    if (Panel1.Visible)
    {
        Panel1.Visible = false;
        Panel2.Visible = true;
        Panel3.Visible = false;
        UPmaincontent.Update();
        return;
    }

    if (Panel2.Visible)
    {
        Panel1.Visible = false;
        Panel2.Visible = false;
        Panel3.Visible = true;
        UPmaincontent.Update();
        return;
    }

    Panel1.Visible = true;
    Panel2.Visible = false;
    Panel3.Visible = false;
    UPmaincontent.Update();

}