【问题标题】:2 Modal Popups - properties being switched when ajax script runs2 Modal Popups - ajax 脚本运行时切换的属性
【发布时间】:2013-06-17 21:05:36
【问题描述】:

在我输入此内容时,我弄清楚了是什么导致了我的问题,但我还没有弄清楚它为什么会导致问题,这对我来说似乎很奇怪。也许有人可以解释......这是我的情况(问题在底部):

我有 2 个模式弹出窗口。

PopupControlID如下:

popup1 
popup2

从服务器端代码调用:

popup1.Show()    'works fine
popup2.Show()    'works fine

在某些时候:

popup1.Show() 'inspecting on server side all properties definitely belong to
              'popup1, but when the ajax .js is triggered, popup2 
              'property values are being used 

所有设置都已正确运行,这些控件可以运行,但它们设置之外的某些东西导致了问题。

在 page_load 中,我将 popup2(它是一个 div)的目标弹出控件设置为 .Visible = False。当我注意到这段代码时,我删除了它,因为我知道目标控件是使用style="display:none;" 隐藏的,所以没有必要。删除后,我运行代码,没想到这会修复错误,但冲突消失了。我不明白这会如何以这种方式影响我的弹出窗口。

问题:

有谁知道为什么 popup1.Show() 会继续使用 popup2 的属性而不是 ajax 脚本中自己的属性,只是因为在代码中的某个点,popup2 的目标控件设置为.visible = false

【问题讨论】:

  • 请发布您的 ASPX 标记。
  • 应用程序的标记超过 2000 行。我正在努力以较小的规模复制这个问题,所以我可以回答我自己的问题,但我会在它完成后发布。
  • 我发现了问题所在。由于代码的编写方式,它看起来比实际更难以捉摸。我从一位前雇员那里拿到了这个应用程序,它有很多值得一看的地方,有时它让我头晕目眩。感谢@GarrisonNeely 的评论,它促使我复制并意识到我忽略了什么。

标签: asp.net ajax vb.net visual-studio-2010 modalpopupextender


【解决方案1】:

在复制我的问题时,答案似乎很简单:

任何时候你将一个控件设置为.Visible = "False",这也是一个模态弹出扩展器的PopupControlID,它会导致错误并且页面不会加载。我觉得有点愚蠢,现在提前意识到这一点,一个真正的“duh”时刻......

无论如何,当我意识到发生了什么时,这些都是非常基本的东西。这是一篇与此问题相关的文章:

http://blog.matthewdoyle.net/2008/10/13/visiblefalse-vs-displaynone/

【讨论】:

    猜你喜欢
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    相关资源
    最近更新 更多