我刚刚继承了一个由设计师创建的网站。该网站最初是使用所有* .html文件创建的。设计者将所有* .html文件重命名为* .aspx文件。因此,没有创建aspx.cs文件。我将网站推向了新的VS2012解决方案。我的问题是,VS 2010中有没有办法自动为现有的独立aspx文件创建文件后面的代码?
答案 0 :(得分:20)
我不知道有一种自动执行此操作的方法,但如果现有* .aspx文件中没有服务器端代码,那么它应该只是添加.cs代码隐藏文件然后连接它们的情况在<%@ Page
标记中,如此:
<%@ Page Title="YourPageTitle" Language="C#" AutoEventWireup="true" CodeBehind="YourPage.aspx.cs" Inherits="YourNamespace.YourPage" %>
注意:这不会创建YourPage.aspx.designer.cs
文件。 (我通常会删除它们,因为它们会导致合并问题 - 我发现更容易添加我需要手动引用我的代码隐藏文件的控件。)
另一种选择是为每个页面创建一个具有正确名称的新“Web表单”,然后将现有标记复制并粘贴到其中。如果现有* .aspx文件中有服务器代码,则需要手动将其复制到代码隐藏。
答案 1 :(得分:5)
根据我在此处找到的内容:http://forums.asp.net/t/1229894.aspx/1
在您的aspx in page属性中添加
AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default"
同样在你刚添加的类文件中删除了所有内容。你的课应该是这样的:
//all namespaces go here
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
答案 2 :(得分:3)
在Visual Studio 2012中:右键单击项目 - &gt;点击添加 - &gt;单击Web窗体 - &gt;将原始aspx文件的内容复制到新的WebForm aspx中 - &gt;删除原始的aspx文件 - &gt;将新的一个重命名为您想要的任何内容。 现在你应该有一个新的aspx文件,其中包含一个可以使用的代码隐藏文件
答案 3 :(得分:2)
添加新的.cs文件后,您可能希望看到该文件看起来像代码隐藏文件(缩进,图标等)。为此:
对于文件Profile.aspx.cs,xml应如下所示:
<Compile Include="Profile.aspx.cs">
<DependentUpon>Profile.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
答案 4 :(得分:0)
为了避免像大卫·弗雷特(David Frette)这样的手动编辑项目文件的麻烦,我建议您从项目中删除该文件,并创建一个新名称为 的新文件。然后将原始aspx或ascx的内容复制粘贴到新文件中。