1

我有一个带有 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" %>

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

4

1 回答 1

1

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

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

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

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

祝你好运

于 2013-07-01T15:21:33.560 回答