2011-07-28 87 views
1

我有一箇中繼器試圖獲取多個數據來顯示。其中包括幾個文本框,將顯示當前設置。 請注意,這就像一個「編輯信息」頁面一次爲多個圖像。中繼器無法顯示文本框

我也有問題顯示從數據庫中的圖像。

爲了使簡單:

我的.cs代碼:

  DataTable ChildImageDT = myImagesBAL.GetChildImageDT(userID, childID, display); 
      var userList = new List<Images>(); 
      foreach (DataRow row in ChildImageDT.Rows) 
      { 
       var child = new Images() 
       { 
            DateTaken = DateTime.Parse(row["image_taken_dt"].ToString()), 
            PlaceTaken = row["image_taken_loc"].ToString(), 
            DetailedInfo = row["image_info"].ToString() 
       }; 
       userList.Add(child); 
      } 

      Repeater1.DataSource = userList; 
      Repeater1.DataBind(); 

我的.aspx代碼

<asp:Repeater ID="Repeater1" runat="server"> 
<ItemTemplate> 
    <table class="content_background"> 
     <tr> 
      <td width= "10%">Date Taken:</td> 
      <td><asp:TextBox ID="txtName" Text="<%#Eval("DateTaken")%>" Visible="true" runat="server" Height="100px" Width="100px"></asp:TextBox></td> 
     </tr> 
     <tr> 
      <td width= "10%" bgcolor=aqua>Place Taken:</td> 
      <td bgcolor=blue ><asp:TextBox ID="txtPassword" Text="<%#Eval("PlaceTaken")%>" Visible=true runat="server" BackColor="White" Font-Size="Large" ForeColor="Fuchsia" Height=50px ></asp:TextBox></td> 
     </tr> 
     <tr> 
      <td width= "10%">Detailed Info:</td> 
      <td><asp:TextBox ID="TextBox1" Text="<%#Eval("DetailedInfo")%>" Visible=true runat="server" ></asp:TextBox></td> 
     </tr> 
    </table> 
</ItemTemplate> 

我的輸出如下所示:

注:輸出是在「文本:」但整個文本框不出現。 enter image description here

+0

當中繼器綁定到數據源? – Chris

+0

它在我的.cs代碼中。數據循環之後。 –

+0

是的,我看到了,但我問的是你在頁面加載事件中使用這段代碼,點擊了一個按鈕等。你在什麼時候調用這段代碼? – Chris

回答

2

您可能會收到「服務器標記格式不正確」。錯誤。

只需將您的評估代碼更改爲單引號而不是雙引號,例如

Text="<%# Eval("DateTaken") %>" // It's understood as string text 

Text='<%# Eval("DateTaken") %>' // now understood as server side code. 
+0

它的工作原理!非常感謝。 和順便說一句,如何圖像,勾選框和單選按鈕?它會一樣嗎? –

+0

是。無論何時您將服務器端代碼寫入html,只需使編譯器/服務器可讀取,即可始終工作 – JSJ