2012-03-19 85 views
23

我刚刚继承了一个由设计者创建的网站。该网站最初是用所有* .html文件创建的。设计人员将所有* .html文件重命名为* .aspx文件。因此没有创建aspx.cs文件。我将该网站引入新的VS2012解决方案。我的问题是,VS 2010中有没有一种方法可以为现有的独立aspx文件自动创建代码背后的代码?创建aspx后的文件后面的代码

+0

你不能,不是真的 - 只是重命名一个HTML文件没有一个ASPX让 - 你需要的声明头顶部,例如,它引用类,后面的代码等。将文件重命名回来比较容易,然后添加新的ASPX页面并将HTML复制到这些页面中。你有多少个文件? – dash 2012-03-19 12:54:30

+0

自动执行此操作的工具非常棒。 – Myster 2012-12-10 04:47:39

回答

18

我不知道一个自动化的方式来做到这一点,但如果现有* .aspx文件中没有服务器端代码,那么它应该只是一个添加.cs代码隐藏文件然后连接它们的情况了在<%@ Page标签,像这样:

<%@ Page Title="YourPageTitle" Language="C#" AutoEventWireup="true" CodeBehind="YourPage.aspx.cs" Inherits="YourNamespace.YourPage" %> 

注意:这不会造成YourPage.aspx.designer.cs文件。 (我通常删除这些无论如何,因为它们导致合并问题 - 我发现它更容易添加我需要手动引用我的代码隐藏文件的控件。)

另一种方法是创建一个新的“Web窗体”为每个页面提供正确的名称,然后将现有标记复制并粘贴到它们中。如果在现有的* .aspx文件中有服务器代码,则需要手动将其复制到代码隐藏文件中。

+0

声音就像是手动创建文件的唯一方法。听起来像一个意见箱。 – 2012-03-22 19:46:44

+1

@MikeMurphy是的,我浏览了一些VS2010扩展,比如'VSCommands'和'Productivity Power Tools'。我仍然不相信他们对此无能为力,但我在最初的搜索中找不到任何东西。如果你有更多的时间比我搜索,我敢肯定你可以找到你需要的东西。如果没有,你总是可以创建自己的扩展? – Robbie 2012-03-22 19:54:18

+0

如果您安装了ReSharper,它将为您完成这项工作。 – vgaltes 2015-02-19 16:27:26

5

基于我在这里找到:http://forums.asp.net/t/1229894.aspx/1

  1. 右键单击您的解决方案资源管理器。
  2. 添加新项目 - >类文件。
  3. 将文件命名为您的aspx的名称例如:Default.aspx.cs
  4. 当它询问您该文件应该在app_code中时,请单击“否”。
  5. 在页面上你的aspx属性添加

    AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" 
    
  6. 同样,在刚刚添加删除一切您的类文件。您的类应该是这样的:

    //all namespaces go here 
    
    
    public partial class Default : System.Web.UI.Page 
    { 
        protected void Page_Load(object sender, EventArgs e) 
        { 
        } 
    } 
    
+0

为什么默认?它不应该是你正在创建的任何页面的名称吗?当然你会有数百个这样的页面不应该背后的代码都不一样吗?在这两种情况下,它不会是网页的名称(cs文件和aspx页面? – ggb667 2014-11-22 00:49:12

+0

默认仅用作示例。如果可以,请随意清除它。 – 2014-11-22 08:50:09

3

在Visual Studio 2012:右键单击项目 - >点击添加 - >单击Web窗体 - >你原来的aspx文件的内容复制到新的WebForm aspx - >删除原始的aspx文件 - >将新的重命名为任何你想要的。 现在你应该有一个新的aspx文件,其代码位于文件后面,可以使用

1

添加新的.cs文件后,您可能希望看到文件看起来像代码隐藏文件(缩进,图标等) )。要做到这一点:

  1. 卸载项目
  2. 编辑项目
  3. 查找与文件中的部分新的文件名(file.aspx.cs)。
  4. 为DependentUpon添加一个xml节点。
  5. 保存并关闭该项目
  6. 刷新该项目

对于文件Profile.aspx。CS中,XML应该是这个样子:

<Compile Include="Profile.aspx.cs"> 
    <DependentUpon>Profile.aspx</DependentUpon> 
    <SubType>ASPXCodeBehind</SubType> 
</Compile> 
+0

对于我,我只关闭了Visual Studio ,编辑了项目,并重新打开了解决方案。感谢提醒关于CS和ASPX链接的地方。 – Michael 2018-02-11 22:07:13

相关问题