0

我正在为复杂的 Web 应用程序开发业务层,并且正在临时使用动态数据站点功能来允许将数据输入到我需要维护的许多表中。我不想在这个 DDS 上花太多时间,因为业务层需要先完成。一旦业务层完成,它就会被运送给其他人以添加更好的用户界面。

然而,虽然 DDS 以一种非常简单的方式提供了很多功能,但我只想通过“导出到 XML”按钮或链接来扩展它。(稍后我可能会添加一个“导出到 Excel”按钮。)

那么,有没有人做过这样的事情呢?在 .NET 中实现这一点而不重写 DDS 的最简单方法是什么?

(我使用实体模型进行数据库连接,并且大部分业务层都建立在这个实体模型之上。一旦业务层完成,将为这个 Web 应用程序开发真正的 GUI 界面,但现在我只需要一个好方法输入/输出此数据。)


将实体集转换为 XML 没有问题。那是容易的部分。我的问题在于使用用户可以单击的附加按钮扩展“ListDetails.aspx”。单击后,它应该将数据集导出为 XML。有趣的是,如果用户设置了一个或多个过滤器,它应该只导出那些过滤的记录。我想我必须查看此页面上的“GridDataSource”对象并进行试验。它会返回整个表还是只返回过滤后的数据集?或者只是当前页面上的记录?


现在,通过导出,我只想将数据集转储到 XML。基本上,您看到的内容应该最终出现在最终的 XML 中。如果我可以访问过滤后的数据集,那么创建 XML 将很容易。(在此之上创建 Excel 工作表也是小菜一碟。)通常,导出只是用于帮助开发我正在处理的项目的业务层。大多数代码是业务逻辑,将在其他(Web/桌面)客户端应用程序中使用,但当项目仍在进行中时,需要 DDS 以便更轻松地为项目输入数据。一旦完成(我猜是从现在开始的数亿年),DDS 将不再被使用。我们也不会使用 XML 导出或导出表。但就目前而言,这些导出对于评估数据很有用。(因为我仍然需要开发更复杂的分析工具。)

4

2 回答 2

0

也许你可以用FileHelpers 做点什么

于 2009-06-18T07:49:23.687 回答
0

这很简单,您必须解决几个问题:

  • 提供触发导出的方法
  • 生成 XML
  • 使 XML 可用(作为链接)以供下载 - 假设这是您想要做的。

有一个稍微不那么直接的替代方法是创建一个服务来生成和返回 XML。

就第一个而言 - 没有什么可以阻止您编辑母版页或默认页面以添加您自己的功能,即按钮或指向 XML 生成页面的链接。

就第二个而言 - Linq 使得从您的实体模型生成 XML 几乎是微不足道的。

一旦你得到了你的 XML,你就有了各种选择,这里的关键是你可以根据需要将自己的页面添加到站点中——动态数据中的魔力只是一个起点,而不是最终产品(尽管如果它确实如此)所有你需要的,然后你就可以带着微笑走开)。

我很欣赏这些是通用的答案,但它是一个相当通用的问题,更具体的页面将更好地解决实现的细节。

具体而言,我有一个需要生成 XML 的动态数据站点,第一次迭代只是默认页面上的一个按钮,将文件保存到磁盘(一个文件名,一种文件格式,单击,生成,保存,完成)。XML 的原因是作为另一个站点的源数据,因此我随后添加了一个 WCF 服务,该服务公开了相同的 XML。花费的总时间(让我了解 WCF 的时间少了一点)可能不到半天——其中大部分时间都花在了摆弄 XML 输出上。

于 2009-06-18T08:13:31.983 回答