2010-11-18 90 views
1

我修改nopCommerce網絡購物軟件和我有一個奇怪的看着編譯錯誤..ASP.NET OnClick事件編譯錯誤

文件

: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"); 
    } 
} 

我得到:

Compiler Error Message: CS1061: 'ASP.checkoutshippingaddress_aspx' does not contain a definition for 'btnA' and no extension method 'btnA' accepting a first argument of type 'ASP.checkoutshippingaddress_aspx' could be found (are you missing a using directive or an assembly reference?)

Source Error:

Line 28: Line 29: Line 30:
" Line 31:
CssClass="newaddressnextstepbutton" ValidationGroup="EnterAddress" OnClick="btnA"/> Line 32:

我已經仔細檢查了類名& aspx和aspx.cs文件中的代碼文件是否匹配(以及它們是否)。

刪除aspx文件中的按鈕聲明的OnClick部分(或將其更改爲即OnClick =「Page_Load」)有所幫助。

這可能是什麼原因?我是否需要在某處註冊我的功能?

+0

web應用程序或網站?如果是前者,請檢查page.aspx.designer文件(以確保已創建委託)。如果後者 - 你必須手動分配代理(我相信) – RPM1984 2010-11-18 00:37:19

+0

我一直在玩asp.net一段時間,但我不知道有兩種模式(網絡應用程序和網站)。我無法弄清楚哪一個正在使用,但我是通過打開 - >網站 - >本地IIS打開項目。什麼是更多的部分編譯是可能的,所以我認爲這是網站項目。你能解釋更多關於代表嗎?我知道我在.designer.cs文件中缺少聲明按鈕,但是無論如何都沒有編譯OnClick。我不知道這裏發生了什麼.. – kubal5003 2010-11-18 01:00:46

回答

0

使用屬性窗口,ADDIT再次,這將有助於有時 或只是用不同模式的名稱 刪除它,ADDIT我希望將消除事件名工作

所以它仍然happend

試要做到這一點編程我的意思是從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

似乎我找到了解決方案..我指的方法有錯誤,我認爲asp.net編譯器有一些奇怪的配置,它使用的是以前的內置版本。我下載了全部資源的商店版本,做了更改,然後VS能夠告訴我什麼是錯的。 – kubal5003 2010-11-18 12:04:10

+0

我錯了。問題沒有解決。它適用於iis dev服務器,但不適用於真正的IIS。 – kubal5003 2010-11-18 23:42:26

+0

奧姆其更復雜然後:( – Kiarash 2010-11-19 01:52:44

0

我有同樣的錯誤...

繼承=「」相匹配的文件名,試圖按鈕的屬性從的OnClick改變的OnClientClick ..反之亦然毫無效果..

對我來說簡單的解決方案是,將CodeBehind更改爲CodeFile ...