2010-02-23 112 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