代码之家  ›  专栏  ›  技术社区  ›  Andy White

ASP.NET(webforms)用于处理名称值数据的控件

  •  0
  • Andy White  · 技术社区  · 16 年前

    是否有任何内置控件可以轻松做到这一点?如果不是-如果我想动态地将标签和文本框/复选框加载到一个要显示的集合中,那么对集合使用什么控件(例如DataGrid、Repeater等)比较好

    4 回复  |  直到 16 年前
        1
  •  2
  •   Erich    16 年前

    查看属性网格: http://propertygrid.codeplex.com/

    它是一个第三方(albiet免费/开源),但是它对于名称/值类型的东西非常方便。

        2
  •  1
  •   Matt Hamsmith Rahul Singh    16 年前

    我更喜欢用标准的ASP.NetListView控件,主要是因为它不比中继器控件复杂多少,但是ListView可以支持数据分页。但是,如果您需要能够按列对结果进行排序,您可能需要查看GridView控件。

        3
  •  1
  •   Chris Fulstow    16 年前

    你可以用这样的东西动态地建立列表。如果该值看起来像使用TryParse的bool,则会呈现一个复选框,否则会将该值放入文本框中。

    foreach (var item in data)
    {
        var controls = ListPlaceholder.Controls;
    
        // Add the label
        var label = item.Key;
        controls.Add(new LiteralControl(label));
    
        var value = item.Value.ToString();
    
        bool boolVal;
        if (bool.TryParse(value, out boolVal))
        {
            // Looks like a bool so render CheckBox
            controls.Add(new CheckBox { Checked = boolVal });
        }
        else
        {
            // General data so render TextBox
            controls.Add(new TextBox { Text = value });
        }
    
        // Line break
        controls.Add(new LiteralControl("<br />"));
    }
    
        4
  •  0
  •   darthjit    16 年前

    尝试DataList控件。它在格式化方面给了你很大的灵活性。 你也可以写一个用户控件,如果你看到它被到处使用。事实上,如果重用性很重要,那么您的数据列表可以在用户控件中。

    推荐文章