图像按钮单击事件未在所有页面上触发Site.master

时间:2013-07-01 14:49:48

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

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

很抱歉,如果这一切都有点模糊

1 个答案:

答案 0 :(得分:1)

这很神秘。我唯一想到的是,某些页面上还有另一个javascript错误,它阻止了onserverclick事件的运行,即底层的__doPostback调用。

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

同时

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

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

祝你好运