【问题标题】:calling javascript method after codebehind code在代码隐藏代码之后调用 javascript 方法
【发布时间】:2013-06-21 19:15:48
【问题描述】:

我在 UpdatePanel 中有一个中继器,其中有一个链接按钮,需要在隐藏的 div 中设置一些值(不显示),然后调用 javascript 方法使该 div 可见。

我正在使用 ScriptManager.RegisterStartupScript 并且它正在调用 js 方法,但问题是代码背后的代码被覆盖 - 代码背后的代码正在为数据库中的某些字段(在隐藏的 div 中)设置值,并且在出现字段之后是空的。如果我单击更新面板中中继器中的其他按钮,则会出现 div,其中包含为先前单击设置的值。 (客户的需求是他们点击转发器中的记录,他们可以在模式对话框中更改它)。

如何获取 javascript 方法以使模式对话框显示为正确的值?

当前代码在转发器链接按钮的 oncommand 事件中是这样的

  ...
  txtName.Text = row.Name;
  ScriptManager.RegisterStartupScript(this, typeof(string), "showEdit", "showModalPanel('pnEdit')", true);

【问题讨论】:

  • 确保您从代码隐藏更新的 html 位于 updatepanel 中

标签: javascript asp.net ajax webforms


【解决方案1】:

我最近在让 ScriptManager.RegisterStartupScript 使用 UpdatePanel 处理部分回发时遇到了一些问题。尝试切换代码以使用类似的东西...

ScriptManager.RegisterClientScriptBlock(updPnl, updPnl.GetType(), updPnl.ClientID, "alert('hello world';", True)

您可能还必须在每次单击时手动更新 UpdatePanel,以便隐藏的 div 获得刷新的值。为此,您必须将 UpdatePanel 上的 UpdateMode 设置为 Conditional,然后确保在需要时在代码隐藏中返回并手动更新它。

【讨论】:

  • 它没有帮助:(仍然是同样的问题
猜你喜欢
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
  • 2012-05-26
  • 2018-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-16
相关资源
最近更新 更多