如何在ASP中使用UpdatePanel刷新值

我有 Asp Chart 控件,其中C#设置了<asp:Title Text=值HTML:


protected void Page_Load(object sender, EventArgs e){

    ...

    WriteChart1();

}


public void WriteChart1(){

       ...

           Chart1.Titles[1].Text = res_NoDown;         //<-- res_NoDown is a string

           Chart1.Titles[1].ForeColor = System.Drawing.Color.Lime;

           Chart1.DataSource = ds;

           Chart1.Series[0].XValueMember = "Down_Time_Class"; 

           Chart1.Series[0].YValueMembers = "qty"; 

           Chart1.Titles[0].Text = res_ReasonDay;      //<-- res_ReasonDay is a string

    }

我HTML的如下:


  <div class="block1">


      <asp:Chart ID="Chart1" runat="server" BackColor="Black" BackImageTransparentColor="Black" Height="160px" Width="500px">

          <Titles>

              <asp:Title Name="Title1" Text="Title1" Alignment="TopCenter" BackImageAlignment="Top">

              </asp:Title>

              <asp:Title Name="Title2">

              </asp:Title>

          </Titles>

      </asp:Chart>


  </div>

Text上面的值是<asp:Title>使用Asp图表控件中的值C#,并且这个值res_NoDown;不是固定的,有时会有所不同。


在此之前,我使用它刷新整个页面以便更改Response.AddHeader("Refresh", "60");值。<asp:Title>但我不想刷新整个页面。


我想要实现的是我想<asp:Chart1>每 60 秒刷新一次部分,以便更改中Text的值<asp:Title>后面res_NoDown的值C#。


我读到我可以使用它UpdatePanel来实现这一点,但我因为不熟悉而陷入困境ASP。


到目前为止我所做的是 this,但是当它刷新时,它没有从 获取值C#, res_NoDown,而是显示在其上设置的值:Text="Title1"。


<asp:ScriptManager ID="Script1" runat="server"></asp:ScriptManager>


  <div class="block1">


      <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">

          <ContentTemplate>

             <asp:Timer runat="server" OnTick="Page_Load" Interval="60000"></asp:Timer>


      <asp:Chart ID="Chart1" runat="server" BackColor="Black" BackImageTransparentColor="Black" Height="160px" Width="500px">

          <Titles>

              <asp:Title Name="Title1" Text="Title1" Alignment="TopCenter" BackImageAlignment="Top">

              </asp:Title>

              <asp:Title Name="Title2">

              </asp:Title>

          </Titles>

      </asp:Chart>


希望我已经非常清楚地解释了我的问题。任何帮助表示赞赏!


倚天杖
浏览 93回答 1
1回答

四季花海

更新面板需要一个触发器来更新其ContentTemplate.基本上,当发生以下任何情况时,就会UpdatePanel更新内容:ContentTemplate1. Postback event triggered by controls with "`AutoPostBack=True`" inside the `ContentTemplate`. 2. The Update Panel's `Trigger` was triggered.对于您的情况,您希望图表每 60 秒刷新一次。因此,您的触发器将是基于时间的。Timer因此,需要a will 作为您的Trigger.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5