【问题标题】:Button, UpdatePanel and MasterPage按钮、UpdatePanel 和 MasterPage
【发布时间】:2011-04-06 22:58:51
【问题描述】:

我在表单上有 asp.net 应用程序和来自 AjaxControlToolkit 的 TabContainer。有 4 个选项卡,每个选项卡都包含 UpdatePanel、隐藏按钮和一些自定义 .ascx(每个都有自己的 javascript 文件)。按钮是面板更新内容的触发器,由 TabContainer 的“OnClientActiveTabChanged”事件触发。

这种技术在heresimiliar here 中有描述。看着它很简单。

我遇到的唯一问题是整个场景在用作单独的页面时有效,但当母版页在该页面周围时它似乎不起作用。突然按钮充当完整的回发控件。 你知道是什么原因吗?

【问题讨论】:

    标签: asp.net ajaxcontroltoolkit tabcontainer


    【解决方案1】:

    假设您所指的按钮位于母版页上,我认为您需要将母版页按钮注册为更新面板触发器。

    http://www.asp.net/ajax/tutorials/understanding-asp-net-ajax-updatepanel-triggers

    【讨论】:

    • 不,不!两个按钮,重要的一切都在使用 MasterPage 的网络表单中。 MasterPage 是 Visual Studio 创建的默认页面。它甚至不包含 UpdatePanel。
    • 明白了。对困惑感到抱歉。查看带有和不带有母版页的按钮的渲染脚本事件。有什么区别?
    • 好点!当然区别在于'name'属性和'onclick'。例如:onclick="__doPostBack('btn','')" vs onclick="__doPostBack('ctl00$ContentPlaceHolder1$btn','')"。所以我最终得到了正确回发的代码,但后端没有等待调用的事件。问题是我无法在其中注入控件名称,因为我将 javascript 保存在页面外部的单独文件中。有什么想法吗?;/
    • 我并没有真正关注你。 doPostBack 中的文本有所不同,因为母版页添加了一个抽象级别,该抽象级别被呈现为 ctl00$ContentPlaceHolder1。这是完全正常的。 “突然按钮充当完整的回发控件”到底是什么****。什么意思?
    • 好吧,asawyer,我解决了这个问题。简而言之-正如您所说,这是母版页添加的前缀的结果。这对我来说并不明显,因为我认为我通过设置 ClientIdMode="Static" 完成了所有工作。不管怎样,你给我指出了正确的方向,谢谢你!
    猜你喜欢
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    相关资源
    最近更新 更多