创建aspx后,在文件后面创建代码

Mik*_*phy 26 asp.net visual-studio-2010

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

Rob*_*bie 23

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

<%@ Page Title="YourPageTitle" Language="C#" AutoEventWireup="true" CodeBehind="YourPage.aspx.cs" Inherits="YourNamespace.YourPage" %>
Run Code Online (Sandbox Code Playgroud)

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

另一种方法是为每个页面创建一个具有正确名称的新"Web表单",然后将现有标记复制并粘贴到其中.如果现有*.aspx文件中有服务器代码,则需要手动将其复制到代码隐藏.


Mat*_*ock 6

根据我在这里找到的内容: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"
    
    Run Code Online (Sandbox Code Playgroud)
  6. 同样在您刚添加的类文件中删除所有内容.你的课应该是这样的:

    //all namespaces go here
    
    
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)


小智 5

添加新的 .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>
Run Code Online (Sandbox Code Playgroud)