2013-07-13 15 views
6

之後添加AjaxControlToolkit的的Gravatar控制我有一個包含動態生成的複選框項的CheckBoxList控件。此複選框列表將包含用戶名。我使用從AjaxControlToolkit的Gravatar控制,讓用戶擁有自己的個人資料照片。我想是,當與用戶名作爲文本複選框被添加到的CheckBoxList,一個控制的gravatar也應之前或複選框之後加入,顯示用戶的對應的顯示畫面。另一種方式來到我的腦海裏是有一個複選框和的Gravatar自定義用戶控制。但是,如果有任何其他精簡而簡單的解決方案,請給我建議。以下是代碼:如何前或複選框中的CheckBoxList控制

<table class="style1"> 
       <tr> 
        <td align="right" style="padding: 5px" width="25%"> 
         Username/Email:</td> 
        <td style="padding: 5px"> 
         <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
         &nbsp;<asp:Button ID="Button1" runat="server" CssClass="newButton" 
          onclick="Button1_Click" Text="Search" /> 
        </td> 
       </tr> 
       <tr> 
        <td align="right" style="padding: 5px" valign="top" width="25%"> 
         Results:</td> 
        <td style="padding: 5px"> 
         <asp:CheckBoxList ID="CheckBoxList1" runat="server" 
          onselectedindexchanged="CheckBoxList1_SelectedIndexChanged" 
          AutoPostBack="True"> 
         </asp:CheckBoxList> 
        </td> 
       </tr> 
       <tr> 
        <td align="right" style="padding: 5px" width="25%" valign="top"> 
         Selected People:</td> 
        <td style="padding: 5px"> 
         <asp:ListBox ID="ListBox1" runat="server" Height="149px" Width="260px"> 
         </asp:ListBox> 
        </td> 
       </tr> 
      </table> 

正如你可以看到它也有一個列表框,其中包含從checkboxlist中選擇的項目。如果可能的話,請爲列表框提供相同的建議。

回答

3

Repeater控制將是適合的。它可以讓你綁定到數據源,併爲應如何顯示的項目模板。

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act" %> 
... 
<asp:Repeater ID="Repeater1" runat="server"> 
    <ItemTemplate> 
     <asp:CheckBox ID="checkBox" runat="server" /> 
     <act:Gravatar runat="server" ID="gravatar" Email='<%# DataBinder.Eval(Container, "DataItem.useremail")%>' Size="50" Rating="G" DefaultImageBehavior="Identicon" DefaultImage="http://tinyurl.com/3bpsaac" /> 
     <asp:Label ID="userName" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.username")%>'></asp:Label> 
     <br /> 
    </ItemTemplate> 
</asp:Repeater> 

我有這個Repeater綁定到以下DataTable

System.Data.DataTable GetRepeaterData() { 
    DataTable dt = new DataTable(); 
    dt.Columns.Add("username", typeof(string)); 
    dt.Columns.Add("useremail", typeof(string)); 
    dt.Rows.Add("user_one", "[email protected]"); 
    dt.Rows.Add("user_two", "[email protected]"); 
    dt.Rows.Add("user_three", "[email protected]"); 
    return dt; 
} 
+0

感謝。其實這不是我真正想要的,但這給了我一個提示。再次感謝。 –

相關問題