对我来说,你所描述的数据并没有真正借给自己的方式太多了。一个DataGrid
。此控件最适合您计划以标准表格样式显示的数据,其中列名在顶部显示,然后显示下面的值行。对于我来说,如果您打算将对象的一个或多个实例(我现在将其称为Person
)绑定到UI,那么对我而言也有点不清楚。
让我们继续前进,并定义对象:
public class Person {
public String Name { get; set; }
public String LastName { get; set; }
public int Age { get; set; }
public DateTime BirthDate { get; set; }
}
向Person
单一实例绑定到你的用户界面,一个简单的HTML表格应该正常工作。我正在使用TextBoxes
在此处显示值,但如果您不需要编辑它们,则只需使用Label
即可。
<table>
<tr><td>Name:</td><td><asp:TextBox ID="txtName" runat="server" /></td></tr>
<tr><td>Last Name:</td><td><asp:TextBox ID="txtLastName" runat="server" /></td></tr>
<tr><td>Age:</td><td><asp:TextBox ID="txtAge" runat="server" /></td></tr>
<tr><td>Birthdate:</td><td><asp:TextBox ID="txtBirthDate" runat="server" /></td></tr>
</table>
这是在这一点上很琐碎从Person
属性绑定到它们各自的对照使用代码隐藏在页面上。
如果您想要使用相同的布局在页面上显示Person
的多个实例,请使用ASP.net Repeater。这样做的标记看起来更象:
<asp:Repeater ID="repPeople" runat="server">
<ItemTemplate>
<table>
<tr><td>Name:</td><td><asp:TextBox ID="txtName" runat="server" Text='<%# Eval("Name") %>' /></td></tr>
<tr><td>Last Name:</td><td><asp:TextBox ID="txtLastName" runat="server" Text='<%# Eval("LastName") %>' /></td></tr>
<tr><td>Age:</td><td><asp:TextBox ID="txtAge" runat="server" Text='<%# Eval("Age") %>' /></td></tr>
<tr><td>Birthdate:</td><td><asp:TextBox ID="txtBirthDate" runat="server" Text='<%# String.Format("{0:d}", Eval("BirthDate")) %>' /></td></tr>
</table>
</ItemTemplate>
</asp:Repeater>
在代码隐藏,你刚才的Person
集合绑定到DataSource
财产上Repeater
:
protected void Page_Load(object sender, EventArgs e) {
// A simple example using Page_Load
List<Person> people = new List<Person>();
for (int i = 0; i < 10; i++) {
people.Add(new Person() {Name = "Test", Age = 10, BirthDate=DateTime.Now, LastName = "Test"});
}
if (!IsPostBack) {
repPeople.DataSource = people;
repPeople.DataBind();
}
}
注:你可以使用CSS而不是表格来实现类似的布局,但是在绑定单个或多个对象之间应用相同的原则。只需将本例中的表格布局替换为最终定义的任何标记即可。
Visual Studio是一个与许多语言一起使用的IDE--您在谈论哪一个?一张桌子在什么?你打算如何查询它? – Oded 2012-08-13 13:55:30
@Oded是一个C#/ aspx项目。 DB是SQL。来自SQL的数据将放置在A,B,C,D ...中的数据集中。 – 2012-08-13 13:58:14
aspx ... WebForms或MVC? – Oded 2012-08-13 13:58:41