【问题标题】:update panel not working in user control更新面板在用户控件中不起作用
【发布时间】:2011-05-09 01:15:10
【问题描述】:

我正在修复一个项目中的问题,但我无法找到以下问题的解决方案。

Main.aspx 页面中有多个用户控件。第一个是 header.ascx,它直接添加到 .aspx 页面中。其他是从 Page_Init 事件动态添加的。根据从主页面左侧菜单单击的超链接,显示相应的用户控件。

现在,如果我尝试在任何动态用户控件中添加脚本管理器/更新面板,相应的用户控件页面会抛出错误。

我注意到 header.ascx 控件正在使用 scriptmanager。是不是在制造问题?如何处理此类问题?任何建议都非常感谢。

【问题讨论】:

    标签: asp.net updatepanel


    【解决方案1】:

    您的问题表明您的用户控件中有 SciptManagers。每页只能有一个 ScriptManager,我猜这是您收到的错误消息。

    将 ScriptManager 放在 aspx 页面中,而不是用户控件中。如果您需要在用户控件中引用 ScriptManager,您可以使用 ScriptManagerProxy 或在代码隐藏中调用 ScriptManager.GetCurrent(this.Page)

    【讨论】:

    • 如果我尝试删除 Header.ascx 中的 ScriptManager,则根本不会加载主页。这是用于此的代码:
    • 将其移至 aspx 页面。它需要出现在任何需要它的控件之前的标记中,因此请将其粘贴在<form> 标记内的顶部。请发布更多描述性错误消息,以便我们更好地了解问题所在。
    • 我做了所有这些事情,但仍然没有工作。我想问题出在标题用户控制代码上。我需要查看该代码并让您知道...谢谢
    【解决方案2】:

    您是否手动设置要动态添加的控件的 ID?你可能需要。

    【讨论】:

    • 我做到了。但问题是当尝试单击任何复选框或用户控件内的任何内容时,页面会抛出错误。
    • @Sunny,你解决了这个问题吗?我有类似的问题/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多