如何列出从aspx页面Web表单中的表中检索的数据 [英] How to list data retrieved from a table in aspx page web form

查看:82
本文介绍了如何列出从aspx页面Web表单中的表中检索的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

>我对网络表单有点新意,但我希望你们中的任何人能够就如何解决这个问题向我提出建议:



我有数据库中的下表:



ID |名称| ParentId

1 |音乐| 0

2 |房子| 1

3 |城市| 1

4 |游戏| 0

5 | ps4 | 4

2 | Xbox | 4



* Aspx页面背后的代码:

我只是在这里返回一个表格列表:





 受保护列表< EventsTable>事件; 
events = db.EventsTable.ToList();



* Aspx页面:
此页面上的
我需要列出所有表中的事件。

例如;我需要在下面列出一个父事件及其子事件。即

*音乐(父母)

房子

城市

*游戏(父母)

ps4

xbox



这是我到目前为止所做的。

正如我提到的那样我是网络表单的新手,但我有MVC的经验,所以我正在尝试使用Aspx页面,因为我会在MVC的视图中使用。

我有一个像这样的表:



< table  class  =    table >  
< tr>
< th>事件< / th >
< th>编辑< / th >
< / tr >

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

< td> <%= s.Name %> < / td >
< td> < a取代;修改< / a > < span class =code-keyword>< / td >
< / tr >
< / tbody >


<%} %>

< / 表格 >



有人可以指导我如何以上述方式列出事件吗?

我不确定在网络表单中实现此目的的最佳选择是什么。



我尝试过的:



Quote:

 < table  class  =   table >  
< tr>
< th>事件< / th >
< th>编辑< / th >
< / tr >

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

< td> <%= s.Name %> < / td >
< td> < a取代;修改< / a > < span class =code-keyword>< / td >
< / tr >
< / tbody >


<%} %>

< / 表格 >

解决方案

尝试这样的事情:



代码 - 背后:

  public  IQueryable< EventsTable> GetTopLevelEvents()
{
return db.EventsTable.Where(e = > e.ParentId == 0 );
}

public IQueryable< EventsTable> GetChildEvents(EventsTable parent)
{
return db.EventsTable.Where(e = > e.ParentId == parent.Id);
}



加价:

< asp:ListView runat = serverSelectMethod =GetTopLevelEventsItemType =YourNamespace.EventsTable> 
< LayoutTemplate>
< table class =table>
< thead>
< tr>
< th>事件< / th>
< th>编辑< / th>
< / tr>
< / thead>
< tbody>
< tr id =itemPlaceholderrunat =server/>
< / tbody>
< / table>
< / LayoutTemplate>
< ItemTemplate>
< tr>
< th> *<%#:Item.Name%>< / th>
< td>
< a>编辑< / a>
< / td>
< / tr>

< asp:ListView runat =serverDataSource ='<%#GetChildEvents(Item)%>'ItemType =YourNamespace.EventsTable>
< ItemTemplate>
< tr>
< th><%#:Item.Name%>< / th>
< td>
< a>编辑< / a>
< / td>
< / tr>
< / ItemTemplate>
< / asp:ListView>
< / ItemTemplate>
< / asp:ListView>



Visual Studio 2013中的模型绑定和Web表单| Microsoft Docs [ ^ ]

ListView类| Microsoft Docs [ ^ ]


>I'm sort of new to web forms but i hope anyone of you would be able to advise me on how to tackle this:

I have the following table in the database:

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

*code behind the Aspx page:
I'm just returning a list of the table here like this:


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


*Aspx Page:
on this page i need to list all the events in table.
for example; i need to list a parent Event and its child events below . i.e
* music (parent)
house
urban
*games(parent)
ps4
xbox

This is what i have done so far.
As i mentioned i'm new to web forms but i have experience in MVC , so i'm trying to use the Aspx page as i would in a view in MVC.
I have a table like so:

<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>


Could someone please direct me on how I would go about in listing the events in the way I've said above?
I'm not sure what the best option would be for me to achieve this in web forms.

What I have tried:

Quote:

<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>

解决方案

Try something like this:

Code-behind:

public IQueryable<EventsTable> GetTopLevelEvents()
{
    return db.EventsTable.Where(e => e.ParentId == 0);
}

public IQueryable<EventsTable> GetChildEvents(EventsTable parent)
{
    return db.EventsTable.Where(e => e.ParentId == parent.Id);
}


Markup:

<asp:ListView runat="server" SelectMethod="GetTopLevelEvents" ItemType="YourNamespace.EventsTable">
<LayoutTemplate>
    <table class="table">
    <thead>
        <tr>
            <th>Event</th>
            <th>Edit</th>
        </tr>
    </thead>
    <tbody>
        <tr id="itemPlaceholder" runat="server"/>
    </tbody>
    </table>
</LayoutTemplate>
<ItemTemplate>
    <tr>
        <th>* <%#: Item.Name %></th>
        <td>
            <a>Edit</a>
        </td>
    </tr>
    
    <asp:ListView runat="server" DataSource='<%# GetChildEvents(Item) %>' ItemType="YourNamespace.EventsTable">
    <ItemTemplate>
        <tr>
            <th><%#: Item.Name %></th>
            <td>
                <a>Edit</a>
            </td>
        </tr>
    </ItemTemplate>
    </asp:ListView>
</ItemTemplate>
</asp:ListView>


Model Binding and Web Forms in Visual Studio 2013 | Microsoft Docs[^]
ListView Class | Microsoft Docs[^]


这篇关于如何列出从aspx页面Web表单中的表中检索的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆