解析器错误使用代码隐藏复制单个aspx页面

时间:2016-04-14 19:36:45

标签: c# asp.net visual-studio copy code-behind

当我只是复制(不部署)带有代码隐藏的aspx页面到网站时,当我尝试使用该页面时,我得到一个Parser错误消息。

让我们假设这只是出于测试目的,我想在Visual Studio中开发单个页面,然后将其复制(或FTP)到网站。

完整的错误消息是:

Parser Error Message: Could not load type 'SimpleSite.WebForm2'.

WebForm2.aspx文件是:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs"
Inherits="SimpleSite.WebForm2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />

    </div>
    </form>
</body>

WebForm2.aspx.cs文件是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace SimpleSite
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            TextBox2.Text = TextBox1.Text;
        }
    }
}

我不确定命名空间是否是问题,它似乎是。我使用Expression Web创建了一个带有代码隐藏的ASP.Net文件,我只能用FTP 但是它没有命名空间(是的,我知道;它在全局命名空间中)。

如果我想制作一个或两个带有代码隐藏的aspx文件,只是出于教育目的而无需部署,我可以使用Visual Studio Web项目或网站来执行此操作并维护页面,使其仍然可以正常工作Visual Studio Web项目或网站中的页面?

1 个答案:

答案 0 :(得分:0)

是的,命名空间是个问题。

Visual Studio为没有命名空间指定的网站创建页面,换句话说,它使用全局命名空间中的代码创建页面。因此,通过仅复制aspx文件和相应的aspx.cs文件,可以单独复制VS网站中创建的简单页面(不使用其他文件)。

Web项目和Web站点之间的另一个区别是VS为每个页面添加了一个aspx.designer.cs文件。它不是为网站创建的。