「サーバーサイドインクルード(SSI)」の編集履歴(バックアップ)一覧に戻る

サーバーサイドインクルード(SSI) - (2008/02/12 (火) 12:27:01) のソース

// 現在のページ名
*&this_page() 

**概要
サーバーサイドインクルード(SSI)の使用方法。
下記の例は、SSIの「#include」。

SSIは、ASP.NETのサーバーコントロールより先に処理される。
下記の例のように、「#include」を使って単一のwebフォームを二枚のファイルで記述しても、ASP.NETの動作的には、一枚のファイルで書いた時と同じである。
ただ、コーディング中は visual studio がSSIを認識しない為、文章校正でダメ出しをかけてくる。(赤やら青の波下線がコードに表示される)

***参考
-[[とほほのSSI入門>>http://www.tohoho-web.com/wwwssi.htm]]

**前提条件
-webサーバでSSIが許可されている。
-[[新しいwebサイトの作成]]
-[[webフォームの追加]]

**手順
default.aspx を以下のように変更する。

#highlight(html){
<%@ 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 を以下に変更する。

#highlight(html){
<div>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" Text="Button" />
</div>
}

実行すると以下のようになる。

&img(263.jpg)

インクルードしたファイルに記述されているサーバーコントロールを操作することも可能。 
default.aspx.vb を以下のように変更する。

#highlight(vb.net){
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
}

&img(264.jpg)
記事メニュー
目安箱バナー