【问题标题】:image button click event not firing on all pages Site.master图像按钮单击事件未在所有页面上触发 Site.master
【发布时间】:2013-06-28 17:50:21
【问题描述】:

我有一个带有 onserverclick 事件的 Site.master 页面,当我加载一些 .aspx 页面时它工作正常,但是在某些页面上,Site.master 页面中的事件根本不会触发。 真的没有意义,希望有人能告诉我这是为什么?

这是母版页中的按钮。

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="Pandora.Web.WebForms.SiteMaster" %>

<input type="image" runat="server" id="btnSearchFunction" src="Images/searchIcon.png" name="image" width="16" height="20"  onserverclick="btnSearchFunction_Click" />


protected void btnSearchFunction_Click(Object sender, EventArgs e)
    {
        //code
    }

这是 Site.master 中的事件不想触发的页面示例

<%@ Page Title="TopicsPage" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="TopicPage.aspx.cs" Inherits="Pandora.Web.WebForms.TopicPage" %>

对不起,如果这一切都有点模糊

【问题讨论】:

    标签: c# asp.net webforms master-pages


    【解决方案1】:

    这很神秘。我在这里唯一的想法是,某些页面上还有另一个 javascript 错误导致 onserverclick 事件停止运行,即底层的 __doPostback 调用。

    我会通过 firebug/chrome 开发者工具栏(等等)运行有问题的页面,并在控制台上查看 javascript 错误

    只是为了尝试 - 我会将 HtmlControl 更改为 ImageButton(即 web 控件),看看是否有任何区别 - 将 onserverclick 更改为 onclick。老实说,我认为这不是问题

    我假设它不能使用的页面总是相同的页面(而不是真正断断续续的)。如果是这样 - 在这些页面上,只需尝试在页面上直接包含相同的按钮。那有没有用。如果这确实是根本原因,它将有助于将其隔离到母版页

    祝你好运

    【讨论】:

    • 是的,这是个好主意。谢谢。它发生在相同的页面上,感觉就像一个 javascript 场景,但也没有错误(在控制台中)
    • 没有问题。顺便说一句,停止 onclick 工作不一定是错误。如果在连接到按钮单击事件的那些页面中有其他有效的 javascript,它可能会阻止 __doPostback 被触发。值得查看这些元素的源代码以准确检查连接的内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 2014-01-14
    • 1970-01-01
    • 2010-10-21
    • 2013-01-17
    • 2012-03-14
    相关资源
    最近更新 更多