让ASP.NET应用程序使用记事本

本文关键字:记事本 应用程序 ASP NET | 更新日期: 2023-09-27 17:50:50

我做了一个ASP。NET应用程序使用notepad++。对于这个练习,我不想使用Visual Studio或任何其他工具。我想了解整个过程。

我已经创建了我的网站,它是启动和运行良好,一切工作顺利。

现在我想在页面后面添加一些c#代码,包括母版页和单独的页面。

到目前为止,我有一个名为Home的文件。,我想添加一个c#文件。 我已经创建了一个名为Home.aspx.cs的文件。以下是该文件的完整内容:
protected void Page_Load(object sender, EventArgs e)
{
    Response.Write("LOAD");
    Response.End();
}

但是当页面加载时,这个文件没有加载。显然我错过了什么,但我不确定是什么。可能是我网站上的参考资料。config或其他文件夹,或语言参考来告诉页面这是c#,或告诉Page_Load实际运行?

同样,我想对我的母版页做同样的事情,它目前被称为masterPage.master.

那么我是否会创建一个名为masterPage.master.cs的文件,或者它是一种完全不同的方式,或者这甚至可以做到?

关于这个问题的所有参考都解释了如何在Visual Studio中做到这一点,我不想使用。

让ASP.NET应用程序使用记事本

实际上可以创建一个ASP。. NET WebForms页面,无需显式编译.cs文件。

Home.aspx

<%@ Page Src="Home.aspx.cs" Inherits="HomePage" AutoEventWireup="True" %>

注意@ Page指令使用的是Src属性而不是通常的CodeBehind属性。

(代替Src,您可以选择使用CodeFile属性并在partial下面标记代码隐藏类)

Home.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指令而不是@ Page。

(同样,您可以使用CodeFile属性而不是Src,并在partial下面标记代码隐藏类)

masterPage.master.cs

public class MasterPage : System.Web.UI.MasterPage
{
}

(我将代码隐藏类命名为MasterPage以匹配您的文件名,但为了避免与内置的ASP混淆。. NET MasterPage基类,您可能希望选择不同的名称

通过如下方式向页面添加CodeFile链接:

<%@ Page Language="C#" MasterPageFile="~/MasterPage/MasterPage.master" CodeFile="Home.aspx.cs" Inherits="Home" Title="Content Page"%>

并确保存在一个inherited标记,则不需要编译代码。

这就是正确答案

.aspx, .js和.html文件在asp.net应用程序中不需要任何编译,但c#是编译语言,所以每个。cs文件都需要编译。你可以使用一些编译器或VS命令提示符。也看看链接:

https://msdn.microsoft.com/en-us/library/ms229859%28v=vs.110%29.aspx

https://msdn.microsoft.com/en-us/library/78f4aasd.aspx

https://kencenerelli.wordpress.com/2014/03/08/using-notepad-to-write-c-code/

需要编译才能运行

可以从命令行调用解决方案中的msbuild.exe。

https://msdn.microsoft.com/en-us/library/ms164311.aspx