问题是这样的:在母版页 Main.master里代码如下
 <table width="100%" border="0" cellspacing="0" cellpadding="0" id="contentMainWrapper"
            summary="content">
            <tbody>
                <tr>
                    <td id="navColumnOne" class="columnLeft" style="width: 200px">
                        <uc1:t1 ID="tleft" runat="server" />
                    </td>
                    <td valign="top">
                        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                        </asp:ContentPlaceHolder>
                    </td>
                    <td id="navColumnTwo" class="columnRight" style="width: 180px">
                        <asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">
                        </asp:ContentPlaceHolder>
                    </td>
                </tr>
            </tbody>
        </table><uc1:t1 ID="tleft" runat="server" />  是一个.ascx的用户控件,内容如下
<div class="leftBoxContainer" id="search" style="width: 200px">
        <h3 class="leftBoxHeading" id="searchHeading">
            <label>
                Search</label></h3>
        <div id="searchContent" class="sideBoxContent centeredContent">
            <asp:TextBox ID="txtSearch" runat="server" size="18" Style="width: 170px" Text="Enter search keywords here"
                onfocus="if (this.value == &#39;Enter search keywords here&#39;) this.value = &#39;&#39;;"
                onblur="if (this.value == &#39;&#39;) this.value = &#39;Enter search keywords here&#39;;"></asp:TextBox>
            <br />
            <asp:Button ID="btnsearch" Text="Search" runat="server" OnClick="btnsearch_Click" />
            <br />
            <br style="clear: both" />
        </div>
    </div>
问题是 btnsearch_Click 事件不能触发。

解决方案 »

  1.   

    MSDN开宗明义地告诉我们:对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。控件事件不会从内容页发送到母版页。同样,也不能在内容页中处理来自母版页控件的事件。
    1:检查下你的Page_Load方法.2:
    可以在Page_Load里委托函数
    Button B1 = (Button)Page.Master.FindControl("Button1");
    B1.Click += new EventHandler(B1_Click);