如何列出aspx页面网页形式从表中检索数据(How to list data retrieved f

2019-10-30 01:17发布

我有点新的网页的形式,但我希望有人对你将能够告诉我如何解决这个:

我在数据库如下表:

ID | Name   | ParentId
 1 | music  | 0
 2 | house  | 1
 3 | urban  | 1
 4 | games  | 0
 5 | ps4    | 4
 2 | Xbox   | 4

* ASPX页面背后的代码:我只是在这里返回表的名单如下:

protected List<EventsTable> events;
   events = db.EventsTable.ToList();

* .aspx页面:此页面上,我需要在表中列出的所有事件。 例如; 我需要列出一个父事件,并低于其子事件。 即*音乐(父)住宅市街*游戏(父)PS4的Xbox

这是我迄今所做的。 正如我提到我是新来的网络形式,但我在MVC的经验,所以我想用aspx页面,因为我会在MVC的视图。 我有一个表,如下所示:

 <table class="table">
                         <tr>
                             <th>Event</th>
                              <th>Edit</th>
                         </tr>

                   <%foreach(var s in events) {%>
                         <tbody>
                                <tr> 
                             <%if (s.ParentId == 0)
                                 {%>
                                    <td> * <%= s.Name %></td>
                              <%} %>

                                  <td> <%= s.Name %></td>
                                 <td> <a> Edit</a></td>
                             </tr>
                         </tbody>


                  <%}%>

                      </table>

可能有人请告诉我如何,我会在我上面说的方式上市的事件去? 我不知道的最好的办法是什么对我来说,做到这一点在网页表单。

Answer 1:

这里一个GridView是类型安全的一个例子,显示了如何在名称前加上一个*。 ItemType是在列表中的类绑定到GridView的完整的命名空间。

<asp:GridView ID="GridView1" runat="server" CssClass="table" ItemType="Namespace1.Default1.Event" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField HeaderText="Event">
            <ItemTemplate>
                <%# Item.ParentId == 0 ? "*" : "" %>
                <%# Item.Name %>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Edit">
            <ItemTemplate>
                <%# Item.ID %>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

后面的代码

public List<Event> events = new List<Event>();

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        //some dummy data
        for (int i = 0; i < 10; i++)
        {
            Event ev = new Event() { ID = i, Name = "naam" + i, ParentId = 0 };
            events.Add(ev);
        }

        GridView1.DataSource = events;
        GridView1.DataBind();
    }
}


public class Event
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int ParentId { get; set; }
}


文章来源: How to list data retrieved from a table in Aspx page web form