我在VS2013中有一个带有Master Page
和一些内容页面的Web应用程序项目。我的主页标题是:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterPage.master.cs" Inherits="MyProject.MasterPage" %>
然后我右键单击解决方案资源管理器中的母版页,然后选择&#34;添加内容页面&#34;。这为我生成了如下内容页面:
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="True" CodeBehind="WebForm1.aspx.cs" Inherits="MyProject.WebForm1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContentPlaceHolder" runat="server">
</asp:Content>
我所做的就是右击这个&#34; WebForm1&#34;在解决方案资源管理器中,将名称更改为&#34;登录&#34;
这会将内容页面中的标题更改为:
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="True" CodeBehind="Login.aspx.cs" Inherits="MyProject.WebForm1" %>
看起来不错,但它仍然显示Inherits="MyProject.WebForm1"
,尽管它不再是内容页面的名称。
所以我想,&#34;好的我可以将Inherits="MyProject.WebForm1"
更改为Inherits="MyProject.Login"
。大错,因为现在我无法在我的代码隐藏文件中引用TextBox,Label等任何控件。我得到了一系列错误:
The name 'controlname' does not exist in the current context
所以看起来我的页面无法再正确找到控件的类。
我尝试删除Login.aspx.designer.cs
,然后转到Project -> Convert to web application
重新创建,但这不起作用。
长话短说,如果我使用Inherits="MyProject.WebForm1"
我的代码工作正常,尽管我的页面现在被称为Login
。我也尝试过所有其他页面,这是同一个故事。
这是某种错误吗?或者我的添加内容页面的方法是什么?
答案 0 :(得分:1)
最有可能在你的代码背后有这个:
namespace MyProject
{
public class WebForm1
这是您的网页根据网站项目继承的内容,而这应该是“Inhertis”属性中的内容。请注意,那里有完整的类名,包括名称空间。
因此,如果要重命名页面文件,请确保重命名该类。 Visual Studio不会自动执行此操作。