使用记事本

时间:2015-05-27 11:30:37

标签: c# asp.net webforms

我使用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中执行此操作,我不想使用它。

4 个答案:

答案 0 :(得分:4)

可以实际创建一个ASP.NET WebForms页面而不显式编译.cs文件。

Home.aspx

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

请注意,@ Page directive使用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 directive而不是@ Page。

(同样,您可以使用Src属性代替CodeFile,并在partial下方标记代码隐藏类。)

masterPage.master.cs

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

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

答案 1 :(得分:1)

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/

答案 2 :(得分:1)

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

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

并确保存在inhereits标记,无需编译代码。

所以这是正确答案

答案 3 :(得分:0)

需要编译才能运行。

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

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