2010-02-23 127 views
2

我將現有的vb2003 asp.net 1.1應用程序轉換爲C#2008 asp.net 3.5。 我抄HTML到我的C#標記窗口(包括標籤,文本字段&按鈕)從VB 2003(ASP.Net)遷移到C#2008 ASP.Net

然而,當我attepmt到「瀏覽器查看」,我得到的錯誤如下:

編譯器錯誤信息: CS1061:'ASP.apps_forms_newproductregistration_newproductreg_aspx'不包含'btnSubmit_Click'的定義,並且沒有找到接受'ASP.apps_forms_newproductregistration_newproductreg_aspx'類型的第一個參數的擴展方法'btnSubmit_Click'(您是否缺少using指令或程序集引用?)

源錯誤:

Line 320:<tr> 
Line 321: <td><input type="reset" value="Reset" class="formbutton"> 
Line 322: <asp:button cssclass="formbutton" text="Next" id="btnSubmit" runat="server" onclick="btnSubmit_Click"/></td> 
Line 323:</tr> 

我的代碼背後包含以下代碼:

protected void btnSubmit_Click(object sender, EventArgs e) 
    { 
     if (ValidateHeader() && ValidateFooter()) 
      LoadDatabase(); 

    } 

任何想法?

+0

上面的問題沒有顯示我的HTML代碼行(Source Error Line 320:Line 321 etc) 爲什麼這麼說? – user279521 2010-02-23 14:51:44

+0

@ user279521 - HTML位中的尖括號將引發渲染引擎,您需要將該塊標記爲可見的代碼。 – Murph 2010-02-23 14:57:04

+0

您是否使用Visual Studio?是否有任何理由不僅僅使用升級嚮導來處理您的轉換? (根據我的經驗,除非你有第三方組件,否則它可以完美地處理它) – David 2010-02-23 14:59:53

回答

6

我有一些兼容性問題,以及我從一個版本複製和粘貼代碼到另一個。你最好的選擇是從頭開始重新輸入完​​整的代碼。

HTH。

+0

謝謝。那就是我最終做的。 – user279521 2010-02-25 15:23:35

1

想着這幾分鐘後,我首先想到的是這樣的:

東西在aspx文件的@Page directive是錯誤的。對於C#在VS2008中一個典型的ASP.NET頁面標題是這樣的:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

(這從一個新的/Default.aspx文件的,文件可能有額外的屬性,如的MasterPageFile)

注意,繼承行在C#中區分大小寫,所以它應該完全匹配CodeFile的類名。

+0

我沒有修改@Page指令。在過去的經驗中,我修改了它,所以我很熟悉會導致的問題。這一次,我已經加倍檢查了指令。我甚至刪除了我的頁面,並創建了一個新頁面並創建了一個新按鈕(從2003年開始替換按鈕)。仍然沒有運氣。 – user279521 2010-02-23 15:41:44