我使用 Notepad++ 制作了一个 ASP.NET 应用程序。对于本练习,我不想使用 Visual Studio 或任何其他工具。我想了解这个过程。
我已经创建了我的网站,它运行良好,一切正常。
现在我想在页面后面添加一些 C# 代码,包括母版页和单个页面。
到目前为止,我有一个名为 Home.aspx 的文件,我想向其中添加一个 C# 文件。
我创建了一个名为 Home.aspx.cs 的文件。以下是文件的全部内容:
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("LOAD");
Response.End();
}
但是当页面加载时,这个文件并没有加载。显然我错过了一些东西,但我不确定是什么。可能是我的 web.config 或其他文件夹中的引用,或者告诉页面这是 C# 的语言引用,或者告诉 Page_Load 实际运行的东西?
另外,我想为我的母版页做同样的事情,目前称为 masterPage.master。
那么我会创建一个名为 masterPage.master.cs 的文件,还是完全不同的方式,或者甚至可以这样做?
所有对这个问题的引用都解释了如何在我不想使用的 Visual Studio 中执行此操作。
最佳答案
实际上,您可以创建一个 ASP.NET WebForms 页面,而无需显式编译 .cs 文件。
主页.aspx
<%@ Page Src="Home.aspx.cs" Inherits="HomePage" AutoEventWireup="True" %>
请注意 @ Page directive使用 Src
属性而不是通常的 CodeBehind
属性。
(除了 Src
,您还可以使用 CodeFile
属性并将代码隐藏类标记在 partial
下方。)
首页.aspx.cs
using System;
using System.Web.UI;
public class HomePage : Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("LOAD");
Response.End();
}
}
masterPage.master
<%@ Master Src="masterPage.master.cs" Inherits="MasterPage" AutoEventWireup="True" %>
同样的事情,除了你使用 @ Master directive而不是@ Page。
(同样,除了 Src
,您还可以使用 CodeFile
属性并将代码隐藏类标记在 partial
下方。)
masterPage.master.cs
public class MasterPage : System.Web.UI.MasterPage
{
}
(我将代码隐藏类命名为 MasterPage
以匹配您的文件名,但为了避免与内置的 ASP.NET MasterPage
基类混淆,您可以想要选择不同的名称。)
关于c# - 使用记事本制作 ASP.NET 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30481207/