【问题标题】:display many rows from DB by normal line?用普通行从数据库中显示多行?
【发布时间】:2009-06-04 18:57:21
【问题描述】:

当我在数据库中有一个包含很多行的表时 我想用法线显示它们(不使用 Gridview)。喜欢:

您教授这些课程: 1/1 级、2/1 级、3/1 级

我们从数据库中获取(1/1 和 2/1 和 3/1)。

我该怎么做?

注意:我使用 LINQ 处理数据库。

【问题讨论】:

    标签: asp.net linq


    【解决方案1】:

    对我来说,使用中继器似乎是最简单的方法。它看起来像这样。

    <div>
        You teach these classes:
        <asp:Repeater
            ID="rptListOfClasses" 
            runat="server" 
            DataSourceID="linqDataSource" >
            <ItemTemplate>
                <span> class <%# Eval("ClassDate") %>, </span>
            </ItemTemplate>
        </asp:Repeater>
    </div>
    

    【讨论】:

      【解决方案2】:
      <asp:ListView ID="lvClass" runat="server" DataSourceID="LinqDataSource1"  OnItemDataBound ="lvResult_ItemDataBound" >
          <LayoutTemplate>
              You teach these classes:&nbsp;
              <asp:PlaceHolder runat="server" ID="itemPlaceHolder" ></asp:PlaceHolder>
          </LayoutTemplate>
          <ItemTemplate>  
                  <asp:Label ID="lblClass"  runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Class") + ", " %>' ></asp:Label>                                          
          </ItemTemplate>   
      
      </asp:ListView>
      
      
      <asp:LinqDataSource ID="LinqDataSource1"  runat="server" 
          ContextTypeName="MyDataContext" TableName="ClassList" 
          onselected="LinqDataSource1_Selected">
      </asp:LinqDataSource>
      

      代码背后: //去掉最后一个逗号(,)

      public class Test : System.Web.UI.Page
          {
              int iCount = 0;
       protected void lvResult_ItemDataBound(object sender, ListViewItemEventArgs e)
              {
                  if (e.Item.ItemType == ListViewItemType.DataItem)
                  {
      
                      Label lblClass = e.Item.FindControl("lblClass") as Label;
                      ListViewDataItem lvItem = e.Item  as ListViewDataItem ;
                      if (lblClass != null)
                          if (lvItem.DataItemIndex == (iCount  - 1))
                              lblClass.Text = lblClass.Text.Substring(0, lblClass.Text.ToString().Length  - 2);
      
      
      
                  }
              }
      
              protected void LinqDataSource1_Selected(object sender, LinqDataSourceStatusEventArgs e)
              {
                  iCount = e.TotalRowCount;
              }
      
      }
      

      【讨论】:

        猜你喜欢
        • 2011-07-21
        • 1970-01-01
        • 2016-11-22
        • 1970-01-01
        • 2020-11-19
        • 1970-01-01
        • 2014-06-02
        • 1970-01-01
        • 2018-06-23
        相关资源
        最近更新 更多