繁体   English   中英

使用记事本创建ASP.NET应用程序

[英]Make ASP.NET application using Notepad

我使用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文件。

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基类混淆,您可能希望选择其他名称。)

asp.net应用程序中的.aspx,.js和.html文件不需要任何编译,但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/

通过向页面添加CodeFile链接,如下所示:

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

并确保存在inhereits标记,没有必要编译代码。

所以这是正确的答案

它需要编译才能运行。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM