按钮单击发送参数。 (ASP。净C#)

时间:2014-03-07 18:28:15

标签: c# html asp.net visual-studio-2010

我有一个asp按钮,我想在点击时将参数发送到codebehind。 所以我喜欢这个教程: http://www.devchix.com/2007/08/10/aspnet-passing-parameters-in-button-click-handler/

我有按钮:

            <asp:Button ID="button1" runat="server" CommandArgument="MyVal1"
   CommandName="ThisBtnClick" OnClick="MyBtnHandler" />

和事件:

  void MyBtnHandler(Object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            switch (btn.CommandName)
            {
                case "ThisBtnClick":
                   //lala
                    break;
            }

但是当我跑步时,有一个'编译错误'。

  

编译器错误消息:CS1061:'ASP.softwares_aspx'不包含   'MyBtnHandler'的定义,没有扩展方法'MyBtnHandler'   可以找到接受“ASP.softwares_aspx”类型的第一个参数   (您是否缺少using指令或程序集引用?)

     

来源错误:

     

第110行:第111行:第112行:
   第114行:

为什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

根据我的评论 - 如果您未授予某项功能,则标准为private

如果您给它publicprotected,则OnClick处理程序可以看到该函数。

首先,我会选择protected,这意味着点击处理程序会看到它,但它不会成为其他类的可用函数。 (除非它们是派生的,这是一个完整的其他主题)

所以改变......

void MyBtnHandler(Object sender, EventArgs e)

要...

protected void MyBtnHandler(Object sender, EventArgs e)