【发布时间】:2015-12-17 19:09:34
【问题描述】:
所以我继承了使用 Visual Web Developer Express 2010 创建的 .vbproj。在项目文件中有 aspx.vb 和 aspx.cs 文件。该程序运行良好,直到我添加了新的 C# 类。以下是我在创建新的 C# 网络表单和类时执行的步骤:
1. 我在一个单独的项目中创建了新的 C# webform (CreateOrder.aspx) 和代码隐藏文件 (CreateOrder.aspx.cs)。
我这样做是因为 Visual Web Developer Express 2010 不允许我添加 现有 .vbproj 中的 C# webform 和类 (.cs)。
2. 然后我将带有代码隐藏文件的 C# webform 复制并粘贴到现有的 .vbproj 解决方案中。
3. 当我运行程序并打开 webform.aspx 时,出现以下错误:
[Parser Error Message: Could not load type 'CreateOrder'.<br>
<%@ Page Title="Create Order" Language="C#" AutoEventWireup="true" MasterPageFile="~/Site.Master" CodeBehind="CreateOrder.aspx.cs" Inherits="CreateOrder"%>]
我知道它找不到明确在类后面的代码(CreateOrder.aspx.cs)中的 CreateOrder 类。我已将其声明为 public class CreateOrder : System.Web.UI.Page
奇怪的是在现有的 .vbproj 中有很多现有的 C# webforms 代码在类后面。不知道为什么我新创建的类会抛出 Parser 错误消息。请帮助各位。谢谢!
【问题讨论】:
-
查看 web.config 文件。文件背后的代码可能存储在 App_Code 目录下的单独文件夹中。您可能需要移动新页面的代码隐藏文件并更改页面中的 CodeBehind 属性,以便可以连接所有内容。
-
嗨 Martin,在 App_Code 目录下添加代码可以正常工作。但是,添加文本框或任何其他对象时出现另一个错误。假设我添加了 txtSearch texbox,错误是 CS0103: The name 'txtSearch' does not exist in the current context。我该如何解决这个问题?提前致谢。
-
这个错误是否出现在 Visual Studio 中?或者,当您实际尝试在浏览器中查看页面时,您是否收到错误消息?这有助于缩小问题的来源。
-
当我尝试在浏览器中查看页面时出现错误。我从我的笔记本电脑上设置了一个本地 IIS 服务器,我正在通过 Visual Web Developer Express 2010 运行该程序。
-
现在可以了,我只需要实例化txtSearch TextBox 对象。