質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
include

あるファイルで定義された関数や処理を、別のファイル上でも使用できるようにするプロセスをincludeと呼びます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

2回答

6245閲覧

拡張子がaspxのサイトの共通部分をインクルードしたい

48ta

総合スコア11

include

あるファイルで定義された関数や処理を、別のファイル上でも使用できるようにするプロセスをincludeと呼びます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2019/03/06 09:14

編集2019/03/07 02:19

web初心者です。
ec-being の backofficeというECサイトのサービスを使っています。

下記のようにファイルを構築しているのですが、
反映されません。
基本的なことがわかっていない可能性が高いのですが
どなたか教えていただけないでしょうか?
提示しなければならない必要な情報も分からない状態です。

footer.inc

inc

1 2<div>footer</div>

aspxファイル(backofficeの管理画面上)

aspx

1<div>header</div> 2<div>content</div> 3<--#include file="ルート相対/footer.inc"-->

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/03/06 09:28

.aspx というのは ASP.NET Web Forms アプリのページなんですが、その「サイトの共通部分をインクルードしたい」とはどういう意味ですか?
m.ts10806

2019/03/06 09:45

phpはどう関係するのでしょうか
48ta

2019/03/06 23:51

SurferOnWwwさんへ ・urlの最後が静的なサイトであれば.htmlが多いと思うのですが、 ec-beingのサービスを利用しているため.aspxになっています。 ・「サイトの共通部分をインクルードしたい」というのは各ページにフッタのように同じ情報を入れる場合1ページ1ページを更新するのが大変なので、1つのインクルードファイルを更新すれば各ページ更新されるようにしたいということです。 mts10806さんへ ・説明不足ですみません。 スキルがあまりない私がインクルード出来ればどんな方法でもいいのですが、 phpタグでインクルードする場合、拡張子を.phpにするのが前提だと思うのですが、 使用しているサービスが拡張子.aspxなので断念しようか迷っているところです。
m.ts10806

2019/03/06 23:58

直接関係ないのであれば誤解を招きますし内容に合致するタグのみにするか、きちんと本文に説明書かれた方が良いように思います。
m.ts10806

2019/03/06 23:59

というかphpでも単に共通部分だけインクルードって今時やりませんよ。
退会済みユーザー

退会済みユーザー

2019/03/07 00:08

ssi includてなにか2つあった記憶が
48ta

2019/03/07 00:08

確かにそうですね。失礼しました。 修正しました。 ググッってすぐ出てきたのがphpとaspというワードでした。 他にはJavaScriptがあったのですが、敷居が高いと思い簡単に出来る方法を探してました。
退会済みユーザー

退会済みユーザー

2019/03/07 00:21

ec-being bookoffice というのは全く知らないのですが、要するに ASP.NET Web Forms アプリのサイトで、質問者さんが自由にサーバーにある既存の .aspx ファイルを編集でき、.inc ファイルを自作してサーバーにに配置できる立場にあると理解して良いですか? で、やりたいことは、ASP.NET Web Forms アプリに提供されている機能を使って、.aspx ファイル内に .inc ファイルを埋め込みたいということですか?
退会済みユーザー

退会済みユーザー

2019/03/07 00:24

ヘッダー、フッター部分を共通にしたいという場合は普通マスターページを使いますが、そうしない理由はなんでしょう?
48ta

2019/03/07 00:32

質問者さんが自由にサーバーにある既存の .aspx ファイルを編集でき、.inc ファイルを自作してサーバーにに配置できる立場にあると理解して良いですか? →まったくその通りです! ヘッダー、フッター部分を共通にしたいという場合は普通マスターページを使いますが、そうしない理由はなんでしょう? →分かりやすくするために「フッター」としたのですが、実際は連載コンテンツを制作してまして、各ページの下部にバックナンバーという共通ブロックを追加したいと思っています。
退会済みユーザー

退会済みユーザー

2019/03/07 01:18

ASP ではなく ASP.NET のタグを付けてください。
guest

回答2

0

ASP.NET Web Forms アプリの既存のサイトで、質問者さんはサーバーにある既存の .aspx ファイルを自由に編集でき、.inc ファイルを自作してサーバーに配置できる立場にあって、やりたいことは、ASP.NET Web Forms アプリに提供されている機能を使って、.aspx ファイル内に .inc ファイルを埋め込みたいということと理解して。

構文が間違ってませんか? <-- --> ではなくて、<!-- --> のはずですが。

<!-- #include file ="inc ファイルのパス" -->

そこを直してもダメなら inc ファイルのパスが間違っているとか?

【追記】

Response.WriteFile メソッドを使うという方法もあるそうです。

How To Dynamically Include Files in ASP.NET
https://support.microsoft.com/ja-jp/help/306575/how-to-dynamically-include-files-in-asp-net

<!-- #include file="myfile.inc" --> でどうしてもダメなら、こちらも試してみてはいかがでしょう。

投稿2019/03/07 01:17

編集2019/03/07 01:30
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

48ta

2019/03/07 03:46

もしかしたら、ssl系のは管理画面のファイルに記述してもどうにもならないのかもしれません。他の方法を模索したいと思います。
退会済みユーザー

退会済みユーザー

2019/03/07 03:54

「管理画面のファイル 」って何ですか? .aspx ファイルも inc ファイルも Web サーバの ASP.NET Web Forms アプリケーションのフォルダ下にないとダメだと思いますけど。開発環境で試してみてください。 SSL は関係ないです。inc ファイルを aspx ファイルに取り込むのはサーバー側の話ですから。
48ta

2019/03/07 04:05

管理画面上でページ単位のテキストエリア?にコードを記述し、webで見るとurlにaspxがつきます。 ecbeingというサービスが「 ASP.NET Web Forms アプリケーション」の仕組みを使っていると思われます。 SSIでした、すみません。
退会済みユーザー

退会済みユーザー

2019/03/07 04:47 編集

思われます・・・って自信なさげですが、私が私の回答の最初に書いた理解があってるかどうかも分からないということですか? 先にもコメントしましたが、自分は ec なんとかは全く知りません。なので「管理画面」とか言われても何のことだか分かりません。
48ta

2019/03/07 07:48

ecbeingというサービスが「 ASP.NET Web Forms アプリケーション」の仕組みを使っています。 最初にコメントしていただいた内容は理解しています。 他の方法をさがしてみます。
退会済みユーザー

退会済みユーザー

2019/03/07 09:16 編集

他の方法を探すということは、上の回答のようにやってみたが、期待する結果にならなかったのですか? であれば、どのような結果になったのか、なぜ他の方法でないとダメと判断したのか等のフィードバックを貰えませんか? フィードバックを貰えれば、解決策を提案できるかもしれませんし、もう少し事情が分かれば代案が出せるかもしれないので聞いてます。そんなものは不要と言うことならその旨書いてもらえれば撤退します。
guest

0

注意:質問内容に対する直接の回答ではないです
コメントにある「サイトの共通部分をインクルードしたい」というのは各ページにフッタのように同じ情報を入れる場合1ページ1ページを更新するのが大変なので、1つのインクルードファイルを更新すれば各ページ更新されるようにしたいということです。についてのアドバイスです

共通部分を親テンプレートとしてコンテンツ部分を各プログラムから吐き出すというのが通常のやり方と思います(これはPHPでも)

2004年の記事なので現在全てそのまま反映できるか分かりませんが、考え方は変わらないと思うので、参考まで。

つまり、↓ではなく

※各コンテンツのビュー

headerインクルード menuインクルード コンテンツ footerインクルード

こういうイメージ

※各コンテンツのビューから親テンプレートのみ呼び出し
個別部分だけインクルードするとかコンテンツ部分を作って渡すとか変数で対応

header menu コンテンツ個別部分 footer

そうすれば何回もインクルード書く必要なくなります。

投稿2019/03/07 00:04

編集2019/03/07 00:12
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

48ta

2019/03/07 00:19

ありがとうございます! html css 簡単なjQueryしか触ったことがなく、 参考サイトはもう少し全体のスキルを上げないと理解できないものでした。すみません。 記述していただいたイメージの通りにしたいと思ってます!
m.ts10806

2019/03/07 00:22

「JavaScriptがあって敷居が高いと感じた」とありますが、 たぶんVueとかライブラリの話かなと思いますが、考え方自体はどれも同じで、あとはお作法的なところかなと思うので、まずは自分の身近なところからかためてほかの言語やライブラリにも展開していくようにすると、できることの幅が広がって適切な時に適切な選択ができるようになりますよ。
48ta

2019/03/07 00:35

まずはjQueryを身につけて、それからJavaScriptを記述できるようにしたいと思っています!
m.ts10806

2019/03/07 00:40

あいや、jQueryはそもそもがJavaScriptのライブラリなので、内部的にはJavaScriptです。基本文法はJavaScriptから学ばれたほうが良いかと思います。 jQueryは裏で都合よく色々とやってくれているものですけど、その分処理は遅くなりますし、基礎の基礎の学習にはなりにくいです。
48ta

2019/03/07 00:52

JavaScriptの基礎的なところからはじめようと思います!アドバイスありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問