對我來說,你所描述的數據並沒有真正借給自己的方式太多了。一個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