C# 数据网格中的绑定困难

C# 数据网格中的绑定困难,c#,asp.net,.net,gridview,C#,Asp.net,.net,Gridview,我在网格中绑定数据时遇到了一些困难 我的数据: public partial class data : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { data1(); } public void data1() { List<MyKVP> obj1 = new List<MyKVP>();

我在网格中绑定数据时遇到了一些困难

我的数据

public partial class data : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        data1();
    }
    public void data1()
    {
        List<MyKVP> obj1 = new List<MyKVP>();

        List<string> str = new List<string>() { "Time", "1", "2" };

        List<string> str1 = new List<string>() { "00:00", "00:30", "01:00", "01:30", "02:00", "02:30", "03:00", "03:30", "04:00" };

        for (int count = 0; count < str1.Count; count++)
        {
            MyKVP obj = new MyKVP();
            if (count == 0)
            {
                obj.Key="0";

                for (int i = 0; i < str.Count; i++)
                {
                    Value o = new Value();
                    o.name = str[i];
                    obj.value.Add(o);
                }
            }
            else
            {
                obj.Key = Convert.ToString(count);

                Value o = new Value();
                o.name = ":";
                obj.value.Add(o);
            }
            obj1.Add(obj);
        }

        GridView1.DataSource = obj1;
        GridView1.DataBind();
    }
}
public class MyKVP
{
    public MyKVP()
    {
        value = new List<Value>();
    }

    public string Key { get; set; }
    public List<Value> value { get; set; }
}
public class Value
{
    public string name { get; set; }
}
时间12
00:00,,
00.30,,
01:00,,
01:30,,
02:00,,
02:30,,

……等等

我的代码

public partial class data : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        data1();
    }
    public void data1()
    {
        List<MyKVP> obj1 = new List<MyKVP>();

        List<string> str = new List<string>() { "Time", "1", "2" };

        List<string> str1 = new List<string>() { "00:00", "00:30", "01:00", "01:30", "02:00", "02:30", "03:00", "03:30", "04:00" };

        for (int count = 0; count < str1.Count; count++)
        {
            MyKVP obj = new MyKVP();
            if (count == 0)
            {
                obj.Key="0";

                for (int i = 0; i < str.Count; i++)
                {
                    Value o = new Value();
                    o.name = str[i];
                    obj.value.Add(o);
                }
            }
            else
            {
                obj.Key = Convert.ToString(count);

                Value o = new Value();
                o.name = ":";
                obj.value.Add(o);
            }
            obj1.Add(obj);
        }

        GridView1.DataSource = obj1;
        GridView1.DataBind();
    }
}
public class MyKVP
{
    public MyKVP()
    {
        value = new List<Value>();
    }

    public string Key { get; set; }
    public List<Value> value { get; set; }
}
public class Value
{
    public string name { get; set; }
}
公共部分类数据:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
数据1();
}
公共无效数据1()
{
List obj1=新列表();
List str=new List(){“Time”,“1”,“2”};
List str1=新列表(){“00:00”、“00:30”、“01:00”、“01:30”、“02:00”、“02:30”、“03:00”、“03:30”、“04:00”};
for(int count=0;count
我只得到网格中的键,而不是列表中的值列表

我的圣诞节

 <form id="form1" runat="server">
    <div>

    </div>
        <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>
    </form>

我认为您必须手动配置GridView,所以我会尝试类似的方法

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>
        <asp:BoundField DataField="Key" HeaderText="---"></asp:BoundField>
        <asp:TemplateField HeaderText="---">
        <ItemTemplate>
            <asp:Repeater ID="Repeater1" runat="server" DataSource='<%# Eval("value") %>'>
                <ItemTemplate>
                    <%# Container.DataItem  %>
                    </ItemTemplate>
                </asp:Repeater>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

GridView不会以本机方式绑定到类似于泛型列表的复杂类型。如果将以下内容添加到MyKVP对象中,您将开始看到value属性的内容

public string ValueAsCsv
{
  get
  {
    return string.Join(",", value.Select(x => x.name));
  }
}

你的问题是什么?您是否收到某种错误?我没有收到任何错误,它只显示键而不是列表中的值,但您必须告诉我们。您还需要向我们显示您的
XAML
代码。好的。我会更新这个问题