将“导出到XML”添加到动态数据站点

时间:2009-06-16 09:14:10

标签: c# asp.net dynamic-data-site

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

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

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

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


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


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

2 个答案:

答案 0 :(得分:0)

也许你可以用FileHelpers做点什么。

答案 1 :(得分:0)

这是相当简单的,你必须解决几个问题:

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

有一个稍微不那么简单的选择,即创建一个服务来生成和返回XML。

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

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

获得XML之后,您就拥有了各种选项,关键在于您可以根据需要将自己的页面添加到网站中 - 动态数据中的魔力只是的起点不是最终产品(尽管如果它能满足您的需求,那么您可以带着笑容走开)。

我理解这些是通用答案,但它是一个相当普遍的问题,更具体的页面可以更好地解决实施细节。

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