1

我已经开始了一个项目,其中一个图像框正在更新每个新框架。但是我的 ASP.NET 计时器更新了整个页面......这是我的项目的演示,带有实时视图.. 点击“Live beeld”:应用程序

该应用程序尚未使用密码加密...

protected void tmrLive_Tick(object sender, EventArgs e)
{
    if (Label1.Text != ""&& Label1.Text!="")
    {
        liveUriList.Items.Clear();
        CloudBlobClient blobClient = new CloudBlobClient("http://ferryjongmans.blob.core.windows.net/", new StorageCredentialsSharedAccessSignature(signature.Text));
        CloudBlobContainer container = blobClient.GetContainerReference(cameraList.Items[Convert.ToInt32(Label1.Text)].ToString());
        CloudBlobDirectory direct = container.GetDirectoryReference(cameraList.Items[Convert.ToInt32(Label1.Text)].ToString());
        BlobRequestOptions options = new BlobRequestOptions();
        options.UseFlatBlobListing = true;
        options.BlobListingDetails = BlobListingDetails.Snapshots;
        foreach (var blobItem in direct.ListBlobs(options))
        {
             string uri = blobItem.Uri.ToString();
             Regex regex = new Regex(comboBox1.SelectedItem.ToString() + "/(.*).jpeg");
             var v = regex.Match(blobItem.Uri.ToString());
             string s = v.Groups[1].ToString();
             pictureBox2.ImageUrl = uri + signature.Text;
        }
    }
}

我希望有人可以帮助我建立一个不会刷新整个页面的漂亮计时器。

4

1 回答 1

2

您应该将要更新(刷新)的区域包裹在 UpdatePanel 中。计时器本身应该在这个 UpdatePanel 内

在您的页面中添加该部分,并将您要更新/刷新的控件放在 UpdatePanel 的 contenttemplate 部分中。

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">

 <ContentTemplate>
        <asp:Image ID="pictureBox2" runat="server"></asp:Image>
    <asp:Timer ID="tmrLive" runat="server" OnTick="tmrLive_Tick"></asp:Timer>
 </ContentTemplate>
</asp:UpdatePanel>
于 2013-01-30T13:46:49.100 回答