Web项目显示按钮不存在

时间:2016-02-01 18:21:23

标签: c# asp.net

我正在抓住这个调试错误,因为在我看来抱怨button1_click()事件不存在,但我在后面的C#代码中显示了它。这是出现的错误:

  

ASP.pages_addinformation_aspx'不包含' button1_Click'的定义没有扩展方法' button1_Click'接受类型' ASP.pages_addinformation_aspx'的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)

这是页面的 HTML

<table border="0" width="100%" cellpadding="2" cellspacing="2" class="LightGray" style="height: 345px;">
<tr>
<td valign="top" style="text-align: left; width: 200px;">
    <asp:GridView runat="server" ID="abc" AutoGenerateColumns="false">
        <Columns>
        <asp:BoundField DataField="11" HeaderText="11" />
        <asp:BoundField DataField="12" HeaderText="12" />
        <asp:TemplateField>
            <ItemTemplate><asp:Label runat="server" Text='<%#Eval("arcaca") %>' ID="arc" Visible="false"></asp:Label></ItemTemplate>
            <ItemTemplate><asp:CheckBox ID="chk" runat="server" AutoPostBack="true" Checked='<%# Convert.ToBoolean(Eval("chk")) %>' /></ItemTemplate>
        </asp:TemplateField>
        </Columns>
    </asp:GridView>     
    <asp:Button runat="server" ID="button1" Text="Do Something" OnClick="button1_Click" />
</td>

这是我的 C#页面,显示button1_Click()事件在后面的代码中

    private void button1_Click(object sender, EventArgs e)
    {

    }

1 个答案:

答案 0 :(得分:7)

页面代码无法查看,因为它是private。设为protected

protected void button1_Click(object sender, EventArgs e)
{

}

基本上,在幕后,的“页面”部分从您在代码隐藏中构建的实际Page类继承。因此,为了查看该父类的任何内容,这些成员必须至少为protected或更高。

这与WinForms相反,其中表单代码都在同一个类中。