ASP.NET C#代码落后

时间:2011-02-21 05:12:34

标签: c# asp.net

我正在为我的网站开发一个解决方案,该解决方案将从我的数据库中获取头条新闻和新闻文章,并在我的主页上显示4个最新的标题,并附有完整文章的链接。我创建了一个自定义表单,以我想要的格式显示信息。我尝试在后面的代码中创建一个方法,该方法将创建其中一个对象并使用数据库中的信息填充自身。将调用此方法4次以在垂直列表中显示它们。这不像我想象的那么顺利。有没有人对如何做到这一点有任何想法。此代码必须是动态的,因为它每次都会在主页上显示不同的文章。我是数据网格的新手,所以如果有什么我可以为此定制,请指出我正确的方向。

谢谢,

3 个答案:

答案 0 :(得分:2)

嘿那里, 我会做以下几点。

在ASP.net页面

    <asp:ListView ID="ListView1" runat="server">
    <ItemTemplate>
    <p><%# Eval("PostName") %></p>
    <p><%# String.Format("{0:dd/MM/yyyy hh:mm:ssss}",Eval("PostDate")) %></p>
    <a href="<%# Eval("PostAddress") %>">click here</a>
    </ItemTemplate>
    </asp:ListView>

并在守则背后。

public partial class _Default : System.Web.UI.Page
{
    public List<Post> posts;

    protected void Page_Load(object sender, EventArgs e)
    {
        posts = new List<Post>();
        posts.Add(new Post { PostDate = DateTime.Parse("2011-01-01"), PostName = "Post1", PostAddress = "www.post.com" });
        posts.Add(new Post { PostDate = DateTime.Parse("2011-01-02"), PostName = "Post2", PostAddress = "www.post.com" });
        posts.Add(new Post { PostDate = DateTime.Parse("2011-01-03"), PostName = "Post3", PostAddress = "www.post.com" });
        posts.Add(new Post { PostDate = DateTime.Parse("2011-01-04"), PostName = "Post4", PostAddress = "www.post.com" });
        posts.Add(new Post { PostDate = DateTime.Parse("2011-01-05"), PostName = "Post6", PostAddress = "www.post.com" });
        posts.Add(new Post { PostDate = DateTime.Parse("2011-01-06"), PostName = "Post7", PostAddress = "www.post.com" });

        // Load Posts into Control
        LoadxPosts(4);


    }

    private void LoadxPosts(int xPostNum)
    {

        var postxList = posts.OrderByDescending(x=> x.PostDate).Take(xPostNum);

        ListView1.DataSource = postxList;
        ListView1.DataBind();

    }
}




public class Post
{
    public string PostName { get; set; }
    public DateTime PostDate { get; set; }
    public string PostAddress { get; set; }
}

答案 1 :(得分:0)

假设这些标题只是表格中的标题,您应该考虑repeater

答案 2 :(得分:0)

我只需在后面的代码中加载帖子即:

public List<Post> posts;

protected void Page_Load(object sender, EventArgs e)
{
    posts = new List<Post>();
    posts.Add(new Post { ID = 1, Value = "Post 1" });
    posts.Add(new Post { ID = 2, Value = "Post 2" });
}

然后迭代网络表单中的帖子:

<%foreach( Post post in posts) { %>
<p><%= post.Value  %></p>
<% } %>

这可以避免执行任何令人讨厌的数据绑定。