ASP.NET OnClick事件编译错误

时间:2010-11-18 00:24:26

标签: asp.net events

我正在修改nopCommerce网络购物软件,我看起来很奇怪的编译错误..

文件中的

:CheckoutShipping.aspx我有:

<div class="button">
            <asp:Button runat="server" ID="btnNextStep" Text="<% $NopResources:Checkout.NextButton %>"
                CssClass="newaddressnextstepbutton" ValidationGroup="EnterAddress"  OnClick="btnA"/>
</div>

并在CheckoutShipping.aspx.cs中:

protected void btnA(object sender, EventArgs e)
{

    if (Page.IsValid)
    {

        ctrlCheckoutBillingAddress.SelectCurrentAddress();
        ctrlCheckoutShippingAddress.SelectCurrentAddress();

        if (!this.OnePageCheckout)
            Response.Redirect("~/checkoutshippingmethod.aspx");
    }
}

我明白了:

  

编译器错误消息:CS1061:   'ASP.checkoutshippingaddress_aspx'   不包含的定义   'btnA'并没有扩展方法'btnA'   接受第一个类型的参数   'ASP.checkoutshippingaddress_aspx'   可以找到(你错过了吗?   使用指令或程序集   引用?)

     

来源错误:

     

第28行:第29行:第30行:
  “   第31行:
  的CssClass = “newaddressnextstepbutton”   =的ValidationGroup “EnterAddress”   的OnClick = “btnA”/&GT;第32行:
  

我已经仔细检查了if class name&amp; aspx和aspx.cs文件中的代码文件匹配(他们这样做)。

删除aspx文件中按钮声明的OnClick部分(或将其更改为ie.OnClick =“Page_Load”)有帮助。

这可能是什么原因?我是否必须在某处注册我的功能?

2 个答案:

答案 0 :(得分:0)

使用属性窗口删除事件名称,并再次添加,这将有所帮助 或者只是删除它并添加一个不同的名称 我希望那会有效

因此它仍然在发生

尝试以编程方式执行此操作我的意思是从htmls中删除事件 并将其添加到您的页面加载

    protected void Page_Load(object sender, EventArgs e)
    {
        ...
         btnA.Click += new EventHandler(btnA_Click);
        ...
    }

    void btnA_Click(object sender, EventArgs e)
    {
        //you stuff here//


    }

希望它有效:)

答案 1 :(得分:0)

我有同样的错误......

inherit =“”匹配文件名,试图将按钮的属性从OnClick更改为OnClientClick ..反之亦然没有任何效果..

对我有用的简单解决方案是将CodeBehind更改为CodeFile ...