サーバーサイドインクルード(SSI)
概要
サーバーサイドインクルード(SSI)の使用方法。挙げる例は「#include」
SSIは、ASP.NETのサーバーコントロールより先に処理される。
下記の例のように、「#include」を使って単一のwebフォームを二枚のファイルで記述しても、ASP.NETの動作的には、一枚のファイルで書いた時と同じである。
ただ、コーディング中に visual studio がSSIを認識しない為、文章校正でダメ出しをかけてくる。(赤やら青の波下線がコードに表示される)
下記の例のように、「#include」を使って単一のwebフォームを二枚のファイルで記述しても、ASP.NETの動作的には、一枚のファイルで書いた時と同じである。
ただ、コーディング中に visual studio がSSIを認識しない為、文章校正でダメ出しをかけてくる。(赤やら青の波下線がコードに表示される)
参考
前提条件
- webサーバでSSIが許可されている。
- 新しいwebサイトの作成
- webフォームの追加
手順
default.aspx を以下のように変更する。
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>無題のページ</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<!-- #Include File="default2.aspx" -->
</div>
</form>
</body>
</html>
default2.aspx を以下に変更する。
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
実行すると以下のようになる。
not found (263.jpg)
インクルードしたファイルに記述されているサーバーコントロールを操作することも可能。(文章校正にはひっかかる)
default.aspx.vb を以下のように変更する。
default.aspx.vb を以下のように変更する。
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
TextBox1.text = "hoge"
End Sub
End Class
not found (264.jpg)