You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET中.aspx与.aspx.cs请求时是否合并为单页面类并生成DLL?

问题描述

我有一个包含HTML标签、服务器控件、JavaScript及CSS的.aspx页面,对应的.aspx.cs文件包含后台逻辑代码。想了解当发起该.aspx页面的请求时,.aspx.cs中的代码是否会合并到.aspx文件中,并生成单个包含页面类的DLL?

以下是示例文件:

simple.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="simple.aspx.cs" Inherits="sample.simple" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="label1" Text="" runat="server"></asp:Label>
            <br/>
            <asp:Button ID="button1" runat="server" Text="Click" OnClick="button1_Click" />
        </div>
    </form>
</body>
</html>

simple.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace sample
{
    public partial class simple: System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void button1_Click(object sender, EventArgs e)
        {
            label1.Text = "Hi Sudarshan";
        }
    }
}
解答

得看你用的是哪种ASP.NET Web Forms项目类型,分两种情况说:

1. Web应用程序项目(Web Application Project)

你的示例里用了CodeBehind属性,这是Web应用程序项目的标配。这种模式下:

  • 开发阶段,.aspx.cs里的后台逻辑会被单独编译到项目的主DLL里(比如你的项目会生成sample.dll)。
  • .aspx页面本身不会和.cs代码合并,第一次请求页面时,ASP.NET会自动生成一个页面适配类(它继承自你在Inherits里指定的sample.simple类),这个动态类负责处理.aspx里的服务器控件、HTML模板这些内容,然后被编译成临时DLL,存在服务器的Temporary ASP.NET Files目录里。
  • 运行的时候,是主DLL里的后台类和这个动态生成的页面类配合工作,并不是把两者合并成单个DLL。

2. 网站项目(Web Site Project)

如果是用CodeFile属性的网站项目(和你的示例配置不一样):

  • 第一次请求页面时,ASP.NET会把.aspx和对应的.cs文件合并成一个完整的类,然后编译成临时DLL,同样存在Temporary ASP.NET Files目录里。
  • 之后再请求这个页面,就直接用已经编译好的临时DLL,除非你修改了.aspx或.cs文件。

简单说:你的示例属于Web应用程序项目,.aspx.cs不会合并到.aspx里,而是编译到项目主DLL;只有网站项目才会把.aspx和.cs合并生成单个临时DLL。

内容的提问来源于stack exchange,提问作者Sudarshan Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 05:36:12