C# 使用来自内部中继器的值更改中继器外部图像的ImageUrl

C# 使用来自内部中继器的值更改中继器外部图像的ImageUrl,c#,asp.net,updatepanel,repeater,imageurl,C#,Asp.net,Updatepanel,Repeater,Imageurl,我有一个有几个项目的中继器。使用计时器时,项目会用以下代码依次突出显示: ((HtmlControl)Repeater1.Controls[nextHighlight].Controls[1]).Attributes["class"] += "highlighted"; 项目所持有的值之一是ImageUrl(从数据库收集),它将与转发器外部的asp:Image一起使用 我如何才能在Repeater项中获得值(希望是从Timer_Tick函数中获得),以便更改ImageUrl?我应该如何在中继器

我有一个有几个项目的中继器。使用计时器时,项目会用以下代码依次突出显示:

((HtmlControl)Repeater1.Controls[nextHighlight].Controls[1]).Attributes["class"] += "highlighted";
项目所持有的值之一是ImageUrl(从数据库收集),它将与转发器外部的asp:Image一起使用


我如何才能在Repeater项中获得值(希望是从Timer_Tick函数中获得),以便更改ImageUrl?我应该如何在中继器中存储ImageUrl并不重要(可能是Hiddenfield?)-从Timer_Tick函数中最容易获得的任何内容。

使用NamingContainer方法在Timer_Tick事件中获取子中继器的RepeaterItem

 HtmlImage aImage=(HtmlImage)RptRow.Parent.Parent.Parent.FindControl("aImage"); 
 // RptRow is RepeaterItem 
 aImage.Src = "Your url";

如果您遇到任何问题,请告诉我。

您认为服务器端计时器如何更新客户端HTML?您必须在客户端执行此操作,因为计时器会导致回发。它确实将repeater项的类设置为“Highlighted”服务器端。不,它没有。服务器上的事件如何导致客户端post?它确实有效。。我使用updatepanels,每次计时器计时,我都可以使用后端代码修改前端。对不起,没有。有些东西你遗漏了。你甚至可能不知道。可能会有客户投票或其他事情;甚至可能是客户端的计时器。但是,如果没有像signar这样的东西,服务器就无法启动到客户机的连接。在某些技术中,客户端维护与服务器的连接,甚至可能发出长时间超时请求,希望服务器能够响应。但是我向你保证它是由客户端发起的,而不是由服务器发起的。我将它更改为Image(asp:Image),但它可以工作。非常感谢你!