本文假设您熟悉 Visual Basic .NET 和 JavaScript摘要多数情况下,ASP.NET 高级模板化控件(如 DataList 和 DataGrid)是用于数据表示的最佳选择。但是,当需要灵活地进行各种各样的布局时,Repeater 控件就是您所需要的。在本文中,作者将构建一个功能齐备的网络日记应用程序,以举例说明使用 Repeater 和 DataList 控件来呈现主从关系中嵌套数据的方法。然后,作者将介绍如何通过添加一些使网络日记反应更迅速且可用性更高的客户端 JavaScript 代码,来替代这些控件的默认实现。
如今,似乎每个人都需要网络日记,我知道我自己就是这样的。但是我找不到具有我想要的功能的预建 ASP.NET 网络日记代码,所以我构建了自己的代码。在构建自己的网络应用程序时,最重要的一点是,要大量用到 ASP.NET 服务器控件,例如 Repeater、DataList 和 Calendar.网络日记应用程序乍看上去似乎就是一个简单的练习,但是实际上,它要求您在一个典型的报告应用程序中实现很多需要的功能,如构建并呈现主从关系或编辑和删除记录,隐藏或显示登录用户的内容和控件,以及管理在同一页面上多个虚拟窗体的输入验证。本文将介绍网络日记的设计和实现细节,并对可轻松应用到各种 ASP.NET 项目的技术进行阐述,而暂且不考虑构建这些网络日记的目的是出于业务需要还是为了娱乐。
在开始编码工作之前,您应该确定想要构建的网络日记的类型、它应具有的功能以及数据存储的设计方式。有效的网络日记包括许多功能。网络日记的消息应按照从新到旧的顺序进行显示。在同一天内可以张贴多条消息,这些消息应直观地分组显示于表格或框中,但是仍然可以按照张贴的时间顺序对其进行识别。同时,用户应当能够为她希望阅读的条目选择时间间隔。这一点非常重要,因为您并不希望检索用户已经看过的旧内容。
用户应该能够对任意一条消息进行评注,并且张贴的评注应该能够直接在其父消息之下进行显示,从而条理清晰。此外,网络日记的所有者应该能够张贴、编辑并删除消息和评注,而用户应该只能阅读消息和张贴评注。要根据用户身份来决定允许或禁止其进行张贴或编辑操作,需要显示或隐藏某些控件,并且还需要进行某种形式的身份验证。