【问题标题】:save data to file or db and retrieve to the same page while loading it in iframe将数据保存到文件或数据库并在 iframe 中加载时检索到同一页面
【发布时间】:2012-02-07 12:54:40
【问题描述】:

我有一个使用 excel 进行一些计算的项目。

使用 3rd 方工具将此 Excel 转换为 HTML。并上传到服务器。 当一个人查看这个 HTML(即在 IFrame 中)时,用户可以输入一些数据修改一些数据,然后可以将其保存在数据库或 XML 中。

之后,当同一用户想要来查看他的更改时,必须从数据库中获取数据,然后必须能够在 iframe 中的 HTML 页面中查看该数据。

但这里的问题是用户在从数据库中检索数据时将无法编写数据检索代码。

是否有任何语言的解决方案或任何其他实现相同功能的方式?

编辑:解释

让我分步写这个:

1.admin 将 HTML 文件上传到网络应用程序,使用电子表格转换器(第三方工具)从 excel 转换。

2.用户查看文件,但 HTML 文件显示在 iframe 中,因此父窗口和 iframe 窗口之间无法进行太多交互。

3.HTML 页面有提交按钮,单击该按钮时会提交到submit.aspx 并将数据保存到该用户 ID 的 XML 文件(带有一些编辑值。)。

4. 稍后当同一用户尝试访问该文件时,显然它会显示来自提到的src 的文件,因此不会显示用户存储的值。

5.所以现在我需要的是,当用户再次访问同一个文件时,该文件应该显示具有为该用户存储的值的数据,而无需在该 HTML 页面上进行任何编码,该 HTML 页面将在该 iframe 上查看。

我想获得顶部窗口和 iframe 窗口之间的交互。我尝试使用jquery 来实现这一点,但它不起作用。这是我尝试过的代码。

<script type='text/javascript'>
var $currIFrame = $('#htmlPageFrame');
$('#htmlPageFrame').load(function() {
$currIFrame.contents().find('#userID').val('1');
$currIFrame.contents().find('#DataMode').val('save');
});
</script>

userIDDataMode 是在 iframe 中加载的 HTML pge 中的隐藏字段。希望这能让事情变得清晰。

【问题讨论】:

  • 上面的 jquery 不工作使用了正确的 jquery 插件但仍然不工作
  • @RohitWagh 我把你弄丢了,我不明白这是什么问题,用户以后不能写到哪里?
  • @Aristos 我已经用一些分步解释编辑了这个问题。希望它有助于理解我的问题

标签: c# jquery asp.net excel iframe


【解决方案1】:
 between top window and iframe window

来自 iframe

在 iframe 中,您使用 window.top.document 调用顶部窗口,像这样调用

$('#IdOnTopWindow', window.top.document)

从顶部框架中,您可以使用它的 id 获取 iframe 值。

从首页

您可以使用此声明从 iframe 中获取值

$("#userID", window.htmlPageFrame.document)

其中 htmlPageFrame 是您的 iframe 的 ID

希望这可以帮助您继续前进。

【讨论】:

  • 这是一个很好的例子,但我想从顶部窗口调用 iframe 窗口,反之亦然
  • @RohitWagh 将 window.top.document 更改为您的 iframe 的 id。我做了一些测试然后回来
  • @RohitWagh 我做了一些测试并找到了它,并更新了答案。这种方式至少对我来说是可行的,测试一下。
  • 感谢@Aritos 这个帮助了我,但找到了我的问题的解决方案。已将其发布为答案。
【解决方案2】:

找到问题的原因。 当我使用母版页并制作 iframe runat=server 时,页面正在寻找 htmlPageFrame 而我应该提供的是 htmlPageFrame.ClientID

愚蠢的错误......

感谢@Aristos,即使您的解决方案对我也有帮助。

现在代码是这样的:

<script type='text/javascript'>
var $currIFrame = $('#<%= htmlPageFrame.ClientID %>');
$('#<%= htmlPageFrame.ClientID %>').load(function() {
$currIFrame.contents().find('#userID').val('1');
$currIFrame.contents().find('#DataMode').val('save');
});
</script>

【讨论】:

    猜你喜欢
    • 2017-03-12
    • 1970-01-01
    • 2019-01-21
    • 2017-10-25
    • 1970-01-01
    • 2013-10-14
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多