如何在ASP.NET webform中显示自定义列表

时间:2011-06-08 03:50:24

标签: asp.net label blogs dynamic-data

我正在开发一个功能类似于博客的ASP.NET网络表单。在主窗体上,我想显示最近的帖子标题列表,并在每个帖子文本的前75个字符下。用于显示这些标题/描述的良好控件是什么?我应该只是动态地将标签添加到页面上还是有更好的方法?

4 个答案:

答案 0 :(得分:0)

在WebForms中使用<asp:ListView>控件。它允许标记的完全灵活性,同时绑定到提供博客条目模型的数据源。

答案 1 :(得分:0)

我建议您使用<asp:Repeater>控件,并使用<li>中的<ItemTemplate>个html元素。

答案 2 :(得分:0)

如果您只想显示一些数据而不进行任何编辑或排序,请使用2个轻量数据绑定控件之一:ListView

<asp:ListView runat="server" ID="ListView1" 
    DataSourceID="SqlDataSource1">
  <LayoutTemplate>
    <table runat="server" id="table1" >
      <tr runat="server" id="itemPlaceholder" ></tr>
    </table>
  </LayoutTemplate>
  <ItemTemplate>
    <tr runat="server">
      <td runat="server">
        <%-- Data-bound content. --%>
        <asp:Label ID="NameLabel" runat="server" 
          Text='<%#Eval("Name") %>' />
        <%-- Add 75 chars of text here. --%>
      </td>
    </tr>
  </ItemTemplate>
</asp:ListView>

Repeater

<asp:Repeater runat="server" ID="Repeater1" 
    DataSourceID="SqlDataSource1">
  <HeaderTemplate>
    <table>
      <tr>
        <th>
          Name</th>
        <th>
          Description</th>
      </tr>
  </HeaderTemplate>
  <ItemTemplate>
    <tr>
      <td>
        <%-- Data-bound content. --%>
        <asp:Label ID="NameLabel" runat="server" 
          Text='<%#Eval("Name") %>' />
        <%-- Add 75 chars of text here. --%>
      </td>
    </tr>
  </ItemTemplate>
  <FooterTemplate>
    </table>
  </FooterTemplate>
</asp:Repeater>

答案 3 :(得分:0)

使用html无序列表代替...动态生成它你可以使用jquery / css

为交替使用交替颜色

在Csharp中以这种方式定义一个字符串,这将是静态的

string mainDiv = "<div class=\"Container\"><ul id=\"BlogPost\">";

每个帖子的动态li。

string dynamic= string.empty;

dynamic += "<li>" + ContentYouExtractFromdatabase + "<hr></li>";

newDynamicLink = mainDiv + dynamic + "</ul></div>";

现在根据您收到的帖子继续追加您的li。