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 に答える