0

我有一个要拆分的大 html 文件。我设法将它分开并将每个部分放在一个 htm 文件中。结果,我的结构现在看起来像:

在此处输入图像描述

请注意,文件夹中的所有文件仅特定于 Default.aspx 页面。我喜欢把我的代码分成几个部分;我发现这样编程更容易。

无论如何,为什么当我这样做时:

    <%   
        Response.WriteFile("_Menu.htm");        
    %>

这会创建一个不同的输出,如果我去 _Menu.htm 复制整个内容并将其粘贴到那里?我知道我可以为每个文件创建一个用户控件。但是如果我这样做,我将不得不在每个文件的页面根目录处创建一个页面指令,而且我只需要放置静态内容,我不需要调用 aspx 页面。为什么 Response.WriteFile 包含我在文件中没有的东西。例如,只要我有一个段落,它就会放置'"'标记。

编辑

当我计划重用 html 时,我会使用用户控件。在这种情况下,我只是将一个页面分成几个页面。我希望将每个块的内容放在一个单独的文件中。

编辑 2

正在做:

    <%   

        //Response.WriteFile("_Menu.htm");

        Response.Write(System.IO.File.ReadAllText(@"A:\Users\Antonio\Dropbox\VisualStudio Projects\Websites\Boat\Boat\MasterPages\User\_Menu.htm"));        
    %>

效果很好。为什么 Response.WriteFile 开头包含“(段落)”!?

4

1 回答 1

0

创建您的 Response.Write 方法:

全局创建以下扩展方法,以便您的所有页面都可以访问它:

using System.Web.UI;

public static class StaticExtensionMethods
{
    public static void Include(this System.Web.UI.Page Page, string path)
    {
        Page.Response.Write(System.IO.File.ReadAllText(Page.Server.MapPath(path))); 
    }



}

然后做:

    <%   
        this.Include("_Menu.htm");
    %>
于 2012-06-09T02:23:53.720 回答