65.9K
CodeProject 正在变化。 阅读更多。
Home

FrameControl - 用于创建 Web 应用程序的框架

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.88/5 (8投票s)

2003年7月26日

3分钟阅读

viewsIcon

85760

downloadIcon

1936

FrameControl 是一个框架,包含大多数 Web 应用程序通用的代码。

引言

FrameControl 是一个 Visual Studio 插件,包含一个组件库,可以随时拖放到 Visual Studio Web 项目中。使用它,使用 XML 文件定义您的工作流程、表示层、存储过程,并且您可以快速运行一个结构化的应用程序。您还可以为每个页面定义浏览器行为:决定保留还是清除历史记录,决定激活还是禁用后退按钮。FrameControl 的另一个特点是,它使用单个 XML 文件(无需代码)将 HTML 字段中输入的数据映射到数据库存储过程参数。

简而言之,您可以:-

  • 使用 XML 定义一个工作流程,链接 Web 应用程序的元素,例如显示的页面、数据库存储过程、.NET 对象方法。
  • 使用 XML 定义系统中页面的布局架构,每个页面都成为 Web 用户控件的模板容器,这些控件在运行时被解析并连接到数据库存储过程参数。
  • 无需编码即可在您的 Web 中插入新的 Web 用户控件,将这些新控件的数据保存在会话和数据库中。
  • 发现存储过程参数及其类型,自动调用它们,并将结果放入用户会话中。
  • 无需添加任何代码即可将用户输入的所有数据保存在会话中。

背景

任何 Web 开发人员都经历过不得不为动态页面做一部分 Web 设计师工作的问题,而任何 Web 设计师都经历过无法修改静态 HTML 之外的任何其他文件的问题。FrameControl 试图通过更改 XML 文件来简化页面之间的工作流程更改,使其无需编码即可轻松创建动态页面(具有工作流程逻辑和数据库交互)。一个独特的数据访问组件可以通过配置 XML 文件来定义数据库中保存的内容。

使用代码

演示项目包含一个完整的 10 页文档,介绍如何配置 FrameControl,而 Visual Studio 生成的完整源代码描述包含在源文件中。演示项目包含一个 Windows 安装程序,该程序将自动更新您的 Visual Studio 环境。源项目包含一个 ZIP 文件,它是 Visual Studio 安装项目。它允许您使用修改后的 FrameControl 版本更新安装程序。

FrameControl 的主要数据结构是页面 XML 描述,如上所述。系统中的任何页面都定义为 XML 标签,并且可以选择触发对象方法。该对象将在运行时使用反射库发现。页面的结构是一个 HTML TABLE,其 TR 和 TD 元素具有可选属性,例如 align、valign、colspan。

<Page Name="firstPage" prefill="Y" action="myNameSpace.firstPageActions">
<Title> FrameControl page which events are linked to an ActionClass </Title>
<PlaceHolderArray>
<tr>
<td valign="top">
  <name>AddressRegistration_WebUserControlName</name>
</td>
<td>
  <name>BlankColumn_WebUserControlName</name>
</td>
<td>
  <name>BookCatalog_WebUserControlName</name>
</td>
</tr>
</Page>

关注点

使用 .NET 框架创建 Web 应用程序的系统方法使我大量使用 .NET 包,并了解了一些我不会在标准 Web 开发中遇到的行为。代码自动化是一个有趣的主题;可以添加许多开发来增强 FrameControl,每项开发都需要从一开始就小心设计问题。

历史

FrameControl 源于将所有 Web 应用程序中常见的冗余代码尽可能多地放入一个尽可能使用 .NET Web 包的框架中的需求。已经做了大量工作,但还需要做更多的工作。应该研究会话超时问题。(在应用程序对象中,当用户会话超时发生时,必须再次初始化 FrameControl)。将来,可以使用 Patrick Long 在 CodeProject 上的文章《探索 ASP.NET 会话状态和缓存数据》向框架添加调试工具。

© . All rights reserved.