【问题标题】:restore dynamically created javascript table structure after asp.net button post back在asp.net按钮回发后恢复动态创建的javascript表结构
【发布时间】:2011-06-23 22:53:17
【问题描述】:

在运行时,我使用 javascript 创建表结构并将其附加到放置在更新面板中的 div 中。这里的问题是,当我使用 asp.net 按钮控件时,按钮的 onClick 会将页面发布到服务器,并且我创建的任何 javascript 表都会关闭。当我使用 html 输入按钮(输入类型 =“按钮”)时,我不会遇到这个问题,表格也留在那里。但我必须使用 asp.net 按钮在服务器端采取必要的行动。 有什么方法可以恢复结构或使用 asp.net 按钮控件以及动态 javascript。任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • 将您的服务器端逻辑移动到页面方法中,使用 html 按钮,然后使用 ajax 调用该方法。
  • 是的,但它有很多工作要做。目前正在按照您所说的方式进行操作,但在我的情况下有时会变得无法管理。

标签: c# javascript asp.net updatepanel postback


【解决方案1】:

在单击/提交 asp.net 按钮之前,您需要将表结构保存在 Hidden 字段中。在 Post back 上,您可以重新显示它。 asp.net 按钮具有属性 OnClientClick,你可以使用这个属性。

【讨论】:

  • 好的,所以我需要将表对象存储在隐藏字段中。那么我该如何重新创建该表结构。
  • @mehul9595 保存您通过 JavaScript 创建的表结构(html 标记),应保存在隐藏字段中。用runat="server"标记隐藏字段,所以在发布表单时,它是可用的,如果你想重新生成(可能是由于验证错误等)你可以这样做。
  • 我得到了你建议的解决方案。正如您所说,我将表 ojbect 存储在 javascript 内的全局声明变量中,并且在 UpdatePanel 的 endRequest 上我再次创建表。它在 mozilla 和 safari 中对我来说运行良好,但是当我在 IE 8 中对其进行测试时,我知道全局贴花 var 没有存储任何值。你知道为什么会这样吗?
猜你喜欢
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 2018-09-28
  • 2011-07-28
相关资源
最近更新 更多