【问题标题】:ASP.NET update Panel losses dyamically added controls on ImageButton Click eventASP.NET 更新面板丢失在 ImageButton Click 事件上动态添加的控件
【发布时间】:2011-01-24 02:46:15
【问题描述】:

问候程序,

我正在开发查询另一个网站并拉回 xml 的应用程序,然后我用 ImageButton(s) 填充结果面板,并在单击事件中设置时间,当单击图像时,我想使用弹出一个 div 框jquery ui,将显示更多信息,关于点击的图片。但是,每当 id 这似乎消除了我的结果面板(面板控件)并且 div 框永远不会出现,据我所知,imagebutton 点击​​事件永远不会触发。我已经尝试过两种方式,一种是使用更新面板,另一种是没有,我将不胜感激。我想知道我是否在我的搜索按钮点击上做了很长时间,我想知道我是否应该让帖子填充结果面板的包句柄并放弃更新面板。

(是的,我的 div 标签设置为 runat server)

我也想提出建议,也许有更好的方法来做到这一点,我想为每个项目创建隐藏的 div 标签,然后在单击图像时运行 javascript 并以这种方式显示它,但这似乎很愚蠢,在我看来,让我的 div 控制一次,然后在每次单击图像时更新其中的标签,然后显示或隐藏它似乎更有意义。

【问题讨论】:

    标签: c# asp.net ajax updatepanel imagebutton


    【解决方案1】:

    如果我不得不猜测的话,不看你的代码,我会说发生了回发并清除了你的所有数据,因为这与任何可能认为事情应该有的视图状态都不匹配。如果你已经在页面上使用 jQuery 和 jQuery UI,我建议你也使用 jquery 来做你的“更多信息弹出窗口”。

    如果您已经拥有页面上的信息并且您只是想向用户展示它,为什么还要使用 imagebutton 的 onclick 功能。

    【讨论】:

    • 是的,我认为你的权利是它的回帖擦拭它,据说我试图通过 if(IsPostBack) return; 来阻止它,这似乎没有用。但是,是的,基本上问题是我只想向用户显示图像,然后当他们单击它时,我想向他们展示有关它的更多信息以及可能的一些数据库操作。我会尝试将这一切都绑定到客户端,但服务器有我需要的数据,所以理想情况下我会在页面加载时创建 dlg,并在我单击图像时填充字段,然后将其显示给用户。
    • if(IsPostBack) return 没关系;您仍然离开了您所在的页面,并且 http 没有任何状态。它将再次从头开始。您可以尝试从客户端代码获取 webmethod 结果或调用 web 服务来获取数据。或者提前将服务端数据作为json对象提供给客户端。仅仅因为视图显示点击信息并不意味着代码必须得到它。
    • 为什么更新面板不起作用,我的意思是我会认为如果更新面板内的控件,回发会被抵消?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 2011-12-27
    相关资源
    最近更新 更多