我有一个大的html文件,我想分开。我设法拆分它并将每个部分放在一个htm文件中。结果我的结构现在看起来像:
注意文件夹中的所有文件都只是Default.aspx页面特有的。我喜欢把我的代码分成几个部分;我发现以这种方式编程更容易。
无论如何,当我这样做时:
<%
Response.WriteFile("_Menu.htm");
%>
创建一个不同的输出,如果我去哪里_Menu.htm复制整个内容并将其粘贴在那里?我知道我可以为每个文件创建一个用户控件。但如果我这样做,我将不得不在每个文件的页面根目录创建一个页面指令,而且我只需要放置静态内容,我不需要调用aspx页面。为什么Response.WriteFile包含我在文件中没有的东西。例如,每当我有一个段落时,它就会放置'''标记。
当我计划重用html时,我使用用户控件。在这种情况下,我只是将一个页面分成几个。我想将每个块的内容放在一个单独的文件中。
这样做的:
<%
//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包括“(段落)”在开头!?
答案 0 :(得分:0)
创建Response.Write方法:
创建以下扩展方法globaly,以便您的所有页面都可以访问它:
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");
%>