2013-01-13 3 views
4

원격 서비스에서 문자 정보를 검색 한 다음 UpdatePanel 안에있는 테이블에 정보를 표시하는 페이지가 있습니다. 테이블을 tablerows, tablecells 및 text를 테이블에 추가하면 테이블이 완벽하게 새로 고쳐집니다. 그러나 img 태그 나 Image 클래스를 통해 이미지를 추가하려고하면 테이블이 한 번 업데이트 된 다음 더 이상 업데이트되지 않습니다.ASP.NET/Timer/Table + Image = No Tick/update

나는 소수의 Google 검색을 거쳤으며 각 검색 결과의 첫 번째 몇 페이지에 걸쳐 결과를 읽었으며 stackoverflow를 확인했으며 내 특정 문제와 일치하는 결과가 없습니다. 이미지가 없으면 할 수 있지만 이상적으로는 각 게임 캐릭터에 현재 영향을주는 상태 효과를 시각적으로 나타 내기 위해 이미지를 추가하고 싶습니다. 코드는 다음과 같습니다.

<asp:ScriptManager ID="scMain" runat="server" /> 
<asp:Timer ID="tmrRefresh" runat="server" Interval="5000" Enabled="true" /> 
<asp:UpdatePanel ID="udPanel" runat="server"> 
<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="tmrRefresh" EventName="Tick" /> 
</Triggers> 
<ContentTemplate> 
    <asp:Table id="tblCharacters" runat="server"> 
     <asp:TableHeaderRow> 
      <asp:TableHeaderCell>Focus</asp:TableHeaderCell> 
      <asp:TableHeaderCell>Character</asp:TableHeaderCell> 
      <asp:TableHeaderCell>Location</asp:TableHeaderCell> 
      <asp:TableHeaderCell>Ping</asp:TableHeaderCell> 
     </asp:TableHeaderRow> 
    </asp:Table><br /> 
    <asp:Label ID="lblNote" runat="server" /> 
</ContentTemplate> 
</asp:UpdatePanel> 

Codebehind가 :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not Master.IsLoggedIn Then 
     Response.Redirect("login.aspx") 
    Else 
     FillCharacterTable() 
    End If 
End Sub 

Private Sub FillCharacterTable() 
    Dim Foci() As Byte = {0, 4, 10, 19, 24} 
    Dim Names() As String = {"Unknown", "Gatekeeper", "Dreamseer", "Soulmaster", "Fatesender"} 
    Dim HaloColors() As Byte = {0, 4, 15, 7, 18} 

    Dim c As New CharacterInfoClient ' Remote service 

    Dim Characters() As String = c.GetCharacterInformation 

    For Each s As String In Characters 
     Dim args() As String = s.Split("|") 
     Dim tr As New TableRow 
     ' add focus elemen icon 
     Dim focus As Byte = Foci(args(2)) 

     ' option 1 - causes timer to stop updating 
     tr.Cells.Add(New TableCell With {.Text = String.Format("<img src=""http://mydomainremoved.net/images/game/image.gif?s=7&v=3&c1={0}&c2={0}&st=50"">", focus))}) 

     ' Option 2, same thing 
     Dim tc As New TableCell 
     tc.Controls.Add(New Image With {.ImageUrl = String.Format("http://mydomainremoved.net/images/game/image.gif?s=7&v=3&c1={0}&c2={0}&st=50", focus)}) 

     tr.Cells.Add(tc) 

     tr.Cells.Add(New TableCell With {.Text = "<a href=""character.aspx?id=" & args(1) & """>" & args(0) & "</a>"}) 
     tr.Cells.Add(New TableCell With {.Text = args(4)}) 
     tr.Cells.Add(New TableCell With {.Text = args(7)}) 

     tblCharacters.Rows.Add(tr) 
    Next 

    lblNote.Text = Characters.Length & " characters -- " & Now.ToString 

End Sub 
+0

이미지의 크기는 얼마입니까? –

답변

0

어쩌면 그것은 CSS 클래스가 아닌 이미지 태그 실험 가치가있을 것입니다?

td.gatekeeper 
{ 
    background-image: url('http://mydomainremoved.net/images/game/image.gif?s=7&v=3&c1=10&c2=10&st=50'); 
} 
td.dreamseer 
{ 
    // etc. 
} 

당신이 (나는 단지 그들이 캐릭터 이름에 묶여있어 있으리라 믿고있어) 당신의 Foci 배열에있는 값의 제한된 수를 가지고 있기 때문에, 여러 클래스를 설정할 수있는 특정 이미지 URL을 각 지점 , 메소드에 대한 인수를 기반으로 필요한 것을 할당하십시오.