怎样把List<KeyValuePair<string,string>> 的key值和 value值分别绑定到Repeater中A处和B处<asp:Repeater ID="rpType" runat="server">
                <ItemTemplate>
                    <ul>
                        <li>
                            <asp:LinkButton ID="lbtnProType" runat="server" CommandArgument=A OnCommand="lbtnType_Command">B</asp:LinkButton>
                            </li>
                    </ul>
                </ItemTemplate>
            </asp:Repeater>

解决方案 »

  1.   

    <%# Eval("Key") %> 可以吗?
      

  2.   

    List可以绑定repeater,直接写即可
      

  3.   

    我写了一个demo
    你参考一下:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Repeater.aspx.cs" Inherits="WebApplication1.Repeater" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        
        <asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
                <ul>
                    <li>
                        <asp:LinkButton ID="lbtnProType" runat="server" CommandArgument='<%#Eval("A") %>'> <%#Eval("B") %></asp:LinkButton>
                    </li>
                </ul>
            </ItemTemplate>
        </asp:Repeater>
        </form>
    </body>
    </html> List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>();
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    BindList();
                    BindRepeater();
                }
            }        void BindList()
            {
                
                for(int i=0;i<10;i++)
                {
                    list.Add(new KeyValuePair<string, string>(i.ToString(), (i + 100).ToString()));
                }
            }        void BindRepeater()
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("A");
                dt.Columns.Add("B");
                foreach (KeyValuePair<string, string> k in list)
                {
                    dt.Rows.Add(k.Key, k.Value);
                }
                Repeater1.DataSource = dt;
                Repeater1.DataBind();
            }
    }