当我只是复制(不部署)带有代码隐藏的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项目或网站中的页面?
答案 0 :(得分:0)
是的,命名空间是个问题。
Visual Studio为没有命名空间指定的网站创建页面,换句话说,它使用全局命名空间中的代码创建页面。因此,通过仅复制aspx文件和相应的aspx.cs文件,可以单独复制VS网站中创建的简单页面(不使用其他文件)。
Web项目和Web站点之间的另一个区别是VS为每个页面添加了一个aspx.designer.cs文件。它不是为网站创建的。