我已经开始了一个项目,其中一个图像框正在更新每个新框架。但我的ASP.NET计时器更新了整个页面...这是我的项目的演示,带有实时视图..点击“Live beeld”:Application
应用程序尚未使用密码加密......
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;
}
}
}
我希望有人能帮助我建立一个不会刷新整个页面的好计时器。
答案 0 :(得分: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>